Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"

Re^3: unicode in windows

by ikegami (Patriarch)
on Oct 19, 2006 at 06:10 UTC ( [id://579282]=note: print w/replies, xml ) Need Help??

in reply to Re^2: unicode in windows
in thread unicode in windows

What have you tried? The following works for me:
use strict; use warnings; open(my $fh_in, '<:raw:encoding(utf16le)', 'src.txt') or die("Unable to open src.txt: $!\n"); open(my $fh_out, '>:raw:encoding(utf16le)', 'dst.txt') or die("Unable to create file.txt: $!\n"); while (<$fh_in>) { if (/[\x{706B}\x{6C34}]/) { print("Found one at line $.!\n"); } print $fh_out $_; }

The :raw prevents the CRLF->LF conversion when reading and the LF->CRLF when writting. The conversion only works with single-byte, ASCII-based (i.e. LF=0xA, CR=0xD) encodings.

Use :raw:encoding(utf16le) if the file was saved using encoding "Unicode"
Use :raw:encoding(utf16be) if the file was saved using encoding "Unicode big endian"
Use :raw:utf8 if the file was saved using encoding "UTF-8"

Update: Added example regexp to code.

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://579282]
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others learning in the Monastery: (4)
As of 2024-07-24 08:52 GMT
Find Nodes?
    Voting Booth?

    No recent polls found

    erzuuli‥ 🛈The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.