<div dir="ltr"><div>$a =~ s/\((\w+)\)/$1/g;</div><div>print pack('U', hex($a));</div></div><div class="gmail_extra"><br><div class="gmail_quote">13 октября 2014 г., 23:51 пользователь Nikolay Mishin <span dir="ltr"><<a href="mailto:mi@ya.ru" target="_blank">mi@ya.ru</a>></span> написал:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Дорогие перломаны и перлознаи, как любил говорить мой хороший знакомый,<br>
Приходит мне на вход строка (<a href="https://github.com/mishin/presentation/blob/master/show_utf.pl" target="_blank">https://github.com/mishin/presentation/blob/master/show_utf.pl</a>)<br>
вида<br>
\(42f) \(43b)\(44e)\(431)\(43b)\(44e) \(41f)\(435)\(440)\(43b)<br>
- (так utf экспортируется в dsx в IBM Datastage)<br>
ну я ее преобразую к виду<br>
\x{42f} \x{43b}\x{44e}\x{431}\x{43b}\x{44e} \x{41f}\x{435}\x{440}\x{43b}<br>
<br>
my $utf_str_2 =<br>
  "\(42f) \(43b)\(44e)\(431)\(43b)\(44e) \(41f)\(435)\(440)\(43b)";<br>
$utf_str_2 =~ s/\((\w+)\)/\\x{$1}/g;<br>
<br>
вот код<br>
<br>
#!/usr/bin/env perl<br>
use utf8;<br>
use Modern::Perl;<br>
use Encode::Locale;<br>
use Data::Dumper qw( Dumper );<br>
if (-t) {<br>
binmode( STDIN, ":encoding(console_in)" );<br>
binmode( STDOUT, ":encoding(console_out)" );<br>
binmode( STDERR, ":encoding(console_out)" );<br>
}<br>
my $love = "Я люблю Перл";<br>
print Dumper ($love);<br>
my $utf_str =<br>
"\x{42f} \x{43b}\x{44e}\x{431}\x{43b}\x{44e} \x{41f}\x{435}\x{440}\x{43b}";<br>
$utf_str =~ s/\\x\{(\w+)\}/\($1)/g;<br>
say "$utf_str";<br>
my $utf_str_2 =<br>
"\(42f) \(43b)\(44e)\(431)\(43b)\(44e) \(41f)\(435)\(440)\(43b)";<br>
$utf_str_2 =~ s/\((\w+)\)/\\x{$1}/g;<br>
say 1;<br>
say $utf_str_2;<br>
но интересно, что если<br>
у тебя есть строка<br>
$a="\x{42f}";<br>
say $a;<br>
то say выведет "Я"<br>
но если<br>
у тебя происходят преобразования<br>
и сама строка становится<br>
"\x{42f}" после<br>
$a="\(42f)";<br>
$a =~ s/\((\w+)\)/\\x{$1}/g;<br>
то<br>
say $a;<br>
выводит "\x{42f}"<br>
вопрос (тем, кто дочитал;))<br>
как сделать так, чтобы напечаталась "Я" ??<br>
<br>
спасибо<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
С уважением<br>
Николай Мишин<br>
<br>
--<br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><div>Ksenia Bobrova</div>Senior Perl Developer</div>
</div>