Infelizmente...<br><br><a href="http://perldoc.perl.org/utf8.html">http://perldoc.perl.org/utf8.html</a><br>Do not use this pragma for anything else than telling Perl that your script is written in UTF-8.<br clear="all"><br>

A minha referência atual sobre Perl e UTF-8 é esta (original em russo, não a tradução): <a href="http://translate.google.com/translate?hl=en-US&amp;sl=ru&amp;tl=en&amp;u=http%3A%2F%2Fxpoint.ru%2Fknow-how%2FPerl%2FPodderzhkaUnicode">http://translate.google.com/translate?hl=en-US&amp;sl=ru&amp;tl=en&amp;u=http%3A%2F%2Fxpoint.ru%2Fknow-how%2FPerl%2FPodderzhkaUnicode</a><br>

<br>ABS()<br><br>
<br><br><div class="gmail_quote">2010/10/18 Daniel de Oliveira Mantovani <span dir="ltr">&lt;<a href="mailto:mantovani@perl.org.br">mantovani@perl.org.br</a>&gt;</span><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

2010/10/18 Daniel de Oliveira Mantovani &lt;<a href="mailto:mantovani@perl.org.br">mantovani@perl.org.br</a>&gt;:<br>
<div class="im">&lt;code&gt;<br>
 my $text;{$/=$\;$text=&lt;&gt;};<br>
 sub do_what_I_want {return uc(@_)};<br>
</div> when (detect_utf8($buf)) {<br>
<div class="im">    {<br>
       require utf8;<br>
       do_what_I_want(...)<br>
    }<br>
 }<br>
<br>
 { do_what_I_want(...) }<br>
&lt;/code&gt;<br>
<br>
</div>Agora sim.<br>
<div><div></div><div class="h5"><br>
&gt;<br>
&gt; /me ;)<br>
&gt;<br>
&gt;<br>
&gt; Procura no StackOverflow por Perl e codificação, o briand d foy deu<br>
&gt; uma explicação bem útil.<br>
&gt;<br>
&gt; 2010/10/18 Stanislaw Pusep &lt;<a href="mailto:creaktive@gmail.com">creaktive@gmail.com</a>&gt;:<br>
&gt;&gt; Tenho certeza de que o assunto foi levantado várias vezes na lista, então,<br>
&gt;&gt; ATENÇÃO: o Perl tem excelentes mecanismos para tratar I/O em diversas<br>
&gt;&gt; codificações da maneira mais prática possível. Por exemplo, dá para pegar<br>
&gt;&gt; arquivo em ISO-8859-1 do STDIN e jogar para STDOUT em UTF-8, isso é canja de<br>
&gt;&gt; galinha. Sempre que abre um handle, é só especificar o que tem dentro que...<br>
&gt;&gt; Aí que está o MEU problema: nunca sei de antemão o que tem dentro :P<br>
&gt;&gt; A solução mais viável que encontrei até agora foi:<br>
&gt;&gt;<br>
&gt;&gt;         my $buf;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;         eval {<br>
&gt;&gt;                 open(TXT, &#39;&lt;&#39;, $file) or die &quot;impossivel abrir $file: $!&quot;;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;                 binmode TXT, &#39;:bytes&#39;;<br>
&gt;&gt;                 local $/ = undef;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;                 $buf = &lt;TXT&gt;;<br>
&gt;&gt;                 close TXT;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;         };<br>
&gt;&gt;<br>
&gt;&gt;         my $iconv = new Text::Iconv(detect_utf8($buf) ? &#39;utf-8&#39; :<br>
&gt;&gt; &#39;iso-8859-1&#39;, &#39;utf-8&#39;);<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;         $buf = $iconv-&gt;convert($buf);<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;         Encode::_utf8_on($buf);<br>
&gt;&gt;<br>
&gt;&gt; Explicando: abro o arquivo do jeito &quot;cru&quot;, sem nenhuma codificação. Carrego<br>
&gt;&gt; o conteúdo no buffer. Aí uso Text::Iconv para converter a codificação.<br>
&gt;&gt; Detalhe importantíssimo: mesmo que os dados já estejam em UTF-8, ainda assim<br>
&gt;&gt; precisa aplicar o Text::Iconv. E ainda não acabou: Perl não reconhece o<br>
&gt;&gt; buffer como algo que tenha codificação UTF-8 até que eu force o flag UTF-8.<br>
&gt;&gt; Pronto! Depois disso tudo, $buf é um autêntico UTF-8. Posso dar uc() que &quot;ã&quot;<br>
&gt;&gt; vira &quot;Ã&quot;, e /\w/ pega os acentos também.<br>
&gt;&gt; Aqui está o código completo: <a href="http://tinypaste.com/c3680" target="_blank">http://tinypaste.com/c3680</a><br>
&gt;&gt; A pergunta é: existe alguma maneira menos ineficiente de se fazer isto?<br>
&gt;&gt;<br>
&gt;&gt; ABS()<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; SaoPaulo-pm mailing list<br>
&gt;&gt; <a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
&gt;&gt; <a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; &quot;If you’ve never written anything thoughtful, then you’ve never had<br>
&gt; any difficult, important, or interesting thoughts. That’s the secret:<br>
&gt; people who don’t write, are people who don’t think.&quot;<br>
&gt;<br>
<br>
<br>
<br>
--<br>
&quot;If you’ve never written anything thoughtful, then you’ve never had<br>
any difficult, important, or interesting thoughts. That’s the secret:<br>
people who don’t write, are people who don’t think.&quot;<br>
_______________________________________________<br>
SaoPaulo-pm mailing list<br>
<a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br>
</div></div></blockquote></div><br>