Use la forma con tres argumentos de open
y especifique
la capa :utf8
para que la entrada/salida a ese fichero
se procesada por dicha capa. Por ejemplo:
lhp@nereida:~/Lperl/src/testing$ cat -n abreutf8.pl 1 #!/usr/local/bin/perl -w 2 use strict; 3 binmode(STDOUT, "utf8"); 4 open my $f, '<:utf8', shift(); 5 my @a = <$f>; 6 chomp(@a); 7 print "$_ tiene longitud ".length($_)."\n" for @a;
Al ejecutar produce una salida como esta:
lhp@nereida:~/Lperl/src/testing$ abreutf8.pl tutu ジジェッニgfは大好あき tiene longitud 14 αβγεφγη tiene longitud 7 νμοπ;ρ^αβψδε tiene longitud 12 & ασηφδξδξδη tiene longitud 12 abc tiene longitud 3 αβγδ&αβψ tiene longitud 8
Casiano Rodríguez León