<meta http-equiv="content-type" content="text/html; charset=utf-8"><div>Lázaro, acho que o Tie::Handle::CSV resolve todos os seus problemas:</div><a href="http://sao-paulo.pm.org/equinocio/2011/mar/17">http://sao-paulo.pm.org/equinocio/2011/mar/17</a><br clear="all">

<br>ABS()<br><br>
<br><br><div class="gmail_quote">2011/6/13 Solli Honorio <span dir="ltr"><<a href="mailto:shonorio@gmail.com">shonorio@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<br><br><div class="gmail_quote">Em 12 de junho de 2011 13:02, Blabos de Blebe <span dir="ltr"><<a href="mailto:blabos@gmail.com" target="_blank">blabos@gmail.com</a>></span> escreveu:<div class="im"><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



Lázaro, vamos por partes,<br>
<br>
Eu não consegui reproduzir o seu problema aqui, mas como vc mandou o<br>
script eu vou fazer alguams crífticas construtivas que poderão te<br>
salvar de muitas dores de cabeça no futuro, ou presente, sei lá<br>
<br>
1) Nunca, nunca mesmo faça qualquer código sem começar com as linhas:<br>
<br>
use strict;<br>
use warnings;<br>
<br>
Se possível pode trocá-las por:<br>
<br>
use Modern::Perl;<br>
<br>
Como diz o manual, "strict - Perl pragma to restrict unsafe<br>
constructs", ou seja, vai restringir o uso de construc'ões inseguras.<br>
<br>
<a href="http://perldoc.perl.org/strict.html" target="_blank">http://perldoc.perl.org/strict.html</a><br>
<a href="http://perldoc.perl.org/warnings.html" target="_blank">http://perldoc.perl.org/warnings.html</a><br>
<br>
2) Na forma que você utilizou, não vejo tanto problema, mas executar<br>
qualquer comando externo, passando comandos e caracteres especiais pro<br>
shell (>) quase sempre abre uma brecha monstruosa de segurança.<br>
Prefira utilizar módulos que fazem isso pra vc, te poupando de se<br>
preocupar com os detalhes chatos, tipo o IPC::Open3<br>
<br>
<a href="http://search.cpan.org/perldoc?IPC::Open3" target="_blank">http://search.cpan.org/perldoc?IPC::Open3</a><br>
<br>
3) Jamais utilize open com 2 argumentos. Isso também pode adicionar<br>
uma falha de segurança de proporções épicas. O comando open por razões<br>
históricas também pode ser utilizado para comunicação iterprocessos, o<br>
que pode ser um efeito colateral indesejado na maioria dos casos.<br>
<br>
<a href="http://perldoc.perl.org/functions/open.html" target="_blank">http://perldoc.perl.org/functions/open.html</a><br>
<br></blockquote><div><br></div></div><div>Dúvidas da melhor maneira de trabalhar com arquivo (não aborda unicode), dê uma olhada !</div><div><a href="http://sao-paulo.pm.org/artigo/2010/analisedastecnicasparaabrirelerarquivos" target="_blank">http://sao-paulo.pm.org/artigo/2010/analisedastecnicasparaabrirelerarquivos</a></div>

<div><div></div><div class="h5">

<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
4) Nunca permita que uma entrada de usuário vá diretamente para algum<br>
comando, principalmente open, como nas linhas:<br>
<br>
while($nome=<IN>){<br>
        open EST,"<$dirin\\$nome";<br>
<br>
Uma linha vianda de um arquivo, também conta como "entrada de usuário".<br>
<br>
5) Use CPAN<br>
<br>
Por exemplo você poderia ter utilizado os módulos para tratamento de<br>
CSV por exemplo, pra manipular os seus arquivo, como o Text::CSV.<br>
<br>
...<br>
<br>
No mais, fique esperto com arquivos textos que vc leva de um sistema<br>
pra outro, porque além dos encodings (que o stan pode te ajudar), tem<br>
problemas com terminadores de linha, os famosos \n, \r\n, \n\r,<br>
blablabla.<br>
<br>
No mais, sempre que precisar, faça como fez, mande o trecho de código<br>
e exemplos. Códigos grandes ficam melhores num pastebin da vida.<br>
<br>
[]'s<br>
<br>
2011/6/10 Oscar Marques <<a href="mailto:oscarbm@gmail.com" target="_blank">oscarbm@gmail.com</a>>:<br>
<div><div></div><div>> <off><br>
> Bolivia?<br>
> Que parada é aquela la?<br>
> Morei anos por la.<br>
> Até.<br>
> </off><br>
><br>
> 2011/6/10 Renato Santos <<a href="mailto:renato.cron@gmail.com" target="_blank">renato.cron@gmail.com</a>><br>
>><br>
>> Só um dica,<br>
>> este arquivo está [provavelmente] em UTF16:<br>
>> $ file /home/renato/Downloads/alalay_1971.txt<br>
>> /home/renato/Downloads/alalay_1971.txt: Little-endian UTF-16 Unicode text,<br>
>> with CRLF, CR line terminators<br>
>> então você pode tentar fazer isto:<br>
>><br>
>> open IN, '<:encoding(utf-16)' , "arquivos.dat";                                                      # IN = arquivos.dat<br>
>><br>
>><br>
>> 2011/6/10 Solli Honorio <<a href="mailto:shonorio@gmail.com" target="_blank">shonorio@gmail.com</a>><br>
>>><br>
>>> Lázaro,<br>
>>> Eu acho que o teu problema é com unicode, dê uma<br>
>>> olhada <a href="http://sao-paulo.pm.org/equinocio/2011/mar/4" target="_blank">http://sao-paulo.pm.org/equinocio/2011/mar/4</a> e vê se isto resolve o<br>
>>> teu problema.<br>
>>> Solli M. Honório<br>
>>><br>
>>> 2011/6/10 José Lázaro Siqueira Júnior <<a href="mailto:juniortaub@hotmail.com" target="_blank">juniortaub@hotmail.com</a>><br>
>>>><br>
>>>> Utilizo o windows vista e estou com problemas na leitura de um arquivo<br>
>>>> ascii, pois, entre os caracteres de cada variavel, o perl esta sendo<br>
>>>> atribuindo automaticamente um espaço. Por exemplo:<br>
>>>><br>
>>>> DATOS DE : TEMPERATURA MEDIA AMBIENTE DIARIA (ºC) (AÑO: 1971)<br>
>>>><br>
>>>> D A T O S  D E : T E M P E R A T U R A   M E D I A   A M B I E N T E   D<br>
>>>> I A R I A  ( º C )  ( A Ñ O :  1 9 7 1 )<br>
>>>><br>
>>>> O estranho é que já rodei o mesmo script sem problemas p/ outras bases<br>
>>>> de dados, que seguem o mesmo padrão dos arquivos de entrada(anexo), porém,<br>
>>>> com estes dados não obtive sucesso.<br>
>>>><br>
>>>> Segue anexo os dados de entrada e o script perl.<br>
>>>><br>
>>>> Obrigado,<br>
>>>><br>
>>>> Lázaro<br>
>>>><br>
>>>> =begin disclaimer<br>
>>>>   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
>>>>  SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
>>>>  L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
>>>> =end disclaimer<br>
>>>><br>
>>><br>
>>><br>
>>><br>
>>> --<br>
>>> "o animal satisfeito dorme". - Guimarães Rosa<br>
>>><br>
>>> =begin disclaimer<br>
>>>   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
>>>  SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
>>>  L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
>>> =end disclaimer<br>
>>><br>
>><br>
>><br>
>><br>
>> --<br>
>> Renato Santos<br>
>> <a href="http://www.renatocron.com/blog/" target="_blank">http://www.renatocron.com/blog/</a><br>
>><br>
>> =begin disclaimer<br>
>>   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
>>  SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
>>  L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
>> =end disclaimer<br>
>><br>
><br>
><br>
><br>
> --<br>
> Oscar Marques<br>
> <a href="mailto:oscarbm@gmail.com" target="_blank">oscarbm@gmail.com</a><br>
> <a href="http://www.dunkelheit.com.br" target="_blank">http://www.dunkelheit.com.br</a><br>
> @f117usbr<br>
> +55 21 9293-9343<br>
><br>
> ------------------------------------<br>
> Participe do I Hack'n Rio<br>
> ------------------------------------<br>
><br>
><br>
> =begin disclaimer<br>
>   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
>  SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
>  L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
> =end disclaimer<br>
><br>
><br>
=begin disclaimer<br>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
 L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
<br>
</div></div></blockquote></div></div></div><br><br clear="all"><br>-- <br><div><div></div><div class="h5">"o animal satisfeito dorme". - Guimarães Rosa<br>
</div></div><br>=begin disclaimer<br>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
 L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
<br></blockquote></div><br>