14.10.2014, 00:18, "Nikolay Mishin" <[email protected]>: > клевая конструкция -CSA > а что это?
Рассматривает STDIN, STDOUT, STDERR и @ARGV как utf8. > работает!! > > 14.10.2014, 00:07, "[email protected]" > <[email protected]>: >> 13.10.2014, 23:51, "Nikolay Mishin" <[email protected]>: >>> Дорогие перломаны и перлознаи, как любил говорить мой хороший знакомый, >>> Приходит мне на вход строка >>> (https://github.com/mishin/presentation/blob/master/show_utf.pl) >>> вида >>> \(42f) \(43b)\(44e)\(431)\(43b)\(44e) \(41f)\(435)\(440)\(43b) >>> - (так utf экспортируется в dsx в IBM Datastage) >>> ну я ее преобразую к виду >>> \x{42f} \x{43b}\x{44e}\x{431}\x{43b}\x{44e} \x{41f}\x{435}\x{440}\x{43b} >>> >>> my $utf_str_2 = >>> "\(42f) \(43b)\(44e)\(431)\(43b)\(44e) \(41f)\(435)\(440)\(43b)"; >>> $utf_str_2 =~ s/\((\w+)\)/\\x{$1}/g; >>> >>> вот код >>> >>> #!/usr/bin/env perl >>> use utf8; >>> use Modern::Perl; >>> use Encode::Locale; >>> use Data::Dumper qw( Dumper ); >>> if (-t) { >>> binmode( STDIN, ":encoding(console_in)" ); >>> binmode( STDOUT, ":encoding(console_out)" ); >>> binmode( STDERR, ":encoding(console_out)" ); >>> } >>> my $love = "Я люблю Перл"; >>> print Dumper ($love); >>> my $utf_str = >>> "\x{42f} \x{43b}\x{44e}\x{431}\x{43b}\x{44e} >>> \x{41f}\x{435}\x{440}\x{43b}"; >>> $utf_str =~ s/\\x\{(\w+)\}/\($1)/g; >>> say "$utf_str"; >>> my $utf_str_2 = >>> "\(42f) \(43b)\(44e)\(431)\(43b)\(44e) \(41f)\(435)\(440)\(43b)"; >>> $utf_str_2 =~ s/\((\w+)\)/\\x{$1}/g; >>> say 1; >>> say $utf_str_2; >>> но интересно, что если >>> у тебя есть строка >>> $a="\x{42f}"; >>> say $a; >>> то say выведет "Я" >>> но если >>> у тебя происходят преобразования >>> и сама строка становится >>> "\x{42f}" после >>> $a="\(42f)"; >>> $a =~ s/\((\w+)\)/\\x{$1}/g; >>> то >>> say $a; >>> выводит "\x{42f}" >>> вопрос (тем, кто дочитал;)) >>> как сделать так, чтобы напечаталась "Я" ?? >> # perl -CSA -lnpe 's#\\\((...)\)#chr(hex$1)#gsme' >> \(42f) \(43b)\(44e)\(431)\(43b)\(44e) \(41f)\(435)\(440)\(43b) >> Я люблю Перл >> >> -- >> wbw, artur >> -- >> Moscow.pm mailing list >> [email protected] | http://moscow.pm.org > > -- > С уважением > Николай Мишин > > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org -- wbw, artur -- Moscow.pm mailing list [email protected] | http://moscow.pm.org
