for perl wizards.

Oliver Fromme olli at lurza.secnetix.de
Fri Oct 9 10:26:43 UTC 2009


Gary Kline <kline at thought.org> wrote:
 > 
 >         Whenever I save a wordpeocessoe file [OOo, say] into a
 >         text file, I get a slew of hex codes to indicate the char to be
 >         used.  I'm looking for a perl one-liner or script to translate
 >         hex back into ', ", -- [that's a dash), and so forth.  Why does
 >         this fail to trans the hex code to an apostrophe?
 > 
 >         perl -pi.bak -e 's/\xe2\x80\x99/'/g'  

You need to escape the inner quote character, of course.
I think sed is better suited for this task than perl.

 >         If there any another other tools, I'm interested!

That "hex code" rather looks like UTF-8.

For conversion between character encodings I recommend recode
from the ports collection (ports/converters/recode).
For example, to convert file.txt from UTF-8 to ISO8859-15:

$ recode utf8..iso8859-15 file.txt

To preserve the previous file contents, do this:

$ recode utf8..iso8859-15 <old.txt >new.txt

Best regards
   Oliver

-- 
Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M.
Handelsregister: Registergericht Muenchen, HRA 74606,  Geschäftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün-
chen, HRB 125758,  Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart

FreeBSD-Dienstleistungen, -Produkte und mehr:  http://www.secnetix.de/bsd

"Python tricks" is a tough one, cuz the language is so clean. E.g.,
C makes an art of confusing pointers with arrays and strings, which
leads to lotsa neat pointer tricks; APL mistakes everything for an
array, leading to neat one-liners; and Perl confuses everything
period, making each line a joyous adventure <wink>.
        -- Tim Peters


More information about the freebsd-questions mailing list