Pessoal,<div><br></div><div>obrigado pela ajuda.</div><div>Resolvi o meu problema. O problema era uns tabs que tinha no inicio de cada linha, e eu estava tratando isto como espaço.</div><div>Apenas para registro, o código ficou assim:</div>
<div><br></div><div><br></div><div><div>use strict;</div><div>use warnings;</div><div><br></div><div>my $var1;</div><div>my $var3;</div><div>my $linha;</div><div>my $var2;</div><div><br></div><div>open(my $file, '<', 'texto.txt');</div>
<div>foreach $linha (<$file>) {</div><div><span class="Apple-tab-span" style="white-space:pre">       </span>chomp($linha);</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">      </span>($var1,$var2,$var3) = split(/[\/\s+]/,$linha,3); </div>
<div><br></div><div>print "Var1 $var1 var2 $var2 var3: $var3\n";</div><div>}</div><div><br></div><div><br></div><br><div class="gmail_quote">2013/3/18 breno <span dir="ltr"><<a href="mailto:breno@rio.pm.org" target="_blank">breno@rio.pm.org</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">(nossa, achei que só eu não dormia por aqui :D)<br>
<br>
<br>
Areal, não estou conseguindo reproduzir o seu problema:<br>
<br>
---------------8<---------------<br>
use strict;<br>
use warnings;<br>
<br>
while (my $linha = <DATA>) {<br>
  chomp $linha;<br>
  my (@vars) = split '/|\s' => $linha, 3;<br>
  use DDP; p @vars;<br>
}<br>
<br>
__DATA__<br>
<div class="im">25/Bla Primeira Entrada<br>
2/Tal Segunda Entrada de Texto<br>
</div>--------------->8---------------<br>
<br>
Ao executar isso, os dados parecem bem separados e sem a quebra de<br>
linha no final:<br>
<br>
[<br>
    [0] 25,<br>
    [1] "Bla",<br>
    [2] "Primeira Entrada"<br>
]<br>
[<br>
    [0] 2,<br>
    [1] "Tal",<br>
    [2] "Segunda Entrada de Texto"<br>
]<br>
<br>
Dito isso, também gosto da solução do Ole de fazer o match completo e<br>
agrupar os valores. Se estiver usando um Perl 5 versão 10.0 ou<br>
superior, pode até mesmo agrupar com nomes, por exemplo: (?<foo>\w+)<br>
coloca o dado em $+{foo}. É mais fácil do que $1, $2, $3, ... :-)<br>
<br>
[]s<br>
<span class="HOEnZb"><font color="#888888"><br>
-b<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
2013/3/18 Guilherme Alves <<a href="mailto:guilhermeareal%2Briopm@gmail.com">guilhermeareal+riopm@gmail.com</a>>:<br>
> Opa,<br>
><br>
> esqueci de falar.. achei alguma parada na net para colocar isto logo depois.<br>
><br>
> $var3=$var3.$/;<br>
><br>
><br>
> e por isto funcionou com o + antes do ]<br>
><br>
><br>
> abs<br>
><br>
> 2013/3/18 Ole Peter Smith <<a href="mailto:ole.ufg@gmail.com">ole.ufg@gmail.com</a>><br>
>><br>
>> o +antes de ] duvidoo.<br>
>><br>
>> 0le<br>
>><br>
>><br>
>> 2013/3/18 Guilherme Alves <<a href="mailto:guilhermeareal%2Briopm@gmail.com">guilhermeareal+riopm@gmail.com</a>><br>
>>><br>
>>> Só para registrar.<br>
>>> Fiz isto:<br>
>>><br>
>>> ($var1,$var2,$var3) = split(/[\/\s+]/,$linha,3);<br>
>>><br>
>>><br>
>>> Estou conseguindo pegar separando direitinho, porém a $var3 está pegando<br>
>>> uma quebra de linha.<br>
>>> Já tentei dar até 2 vezes o chomp($linha) antes do split.<br>
>>> Alguém sabe me dizer o pq disto estar acontecendo?<br>
>>><br>
>>><br>
>>> Obrigado!<br>
>>><br>
>>><br>
>>> 2013/3/18 Guilherme Alves <<a href="mailto:guilhermeareal%2Briopm@gmail.com">guilhermeareal+riopm@gmail.com</a>><br>
>>>><br>
>>>> Opa,<br>
>>>><br>
>>>> eu fiz primeiro desta forma, pegando o primeiro espaço e depois<br>
>>>> separando o que tem o /<br>
>>>> Posso sim garantir que terá apenas uma barra.<br>
>>>> Depois mudei para separar primeiro pelo / e depois pelo espaço pois<br>
>>>> estava dando um problema estranho com a quebra de linha.<br>
>>>><br>
>>>> Enfim. Resolvi o problema. Só que eu gostaria de aprender a fazer isto<br>
>>>> de uma maneira mais simples, onde eu passaria as 3 variáveis de uma só vez.<br>
>>>><br>
>>>> Desta forma eu poderia adaptar fácil para outros casos.. onde por<br>
>>>> exemplo:<br>
>>>> Primeira entrada - 25/Bla<br>
>>>> Segunda Entrada de Texto  -  2/Tal<br>
>>>><br>
>>>><br>
>>>> Abs<br>
>>>><br>
>>>><br>
>>>> 2013/3/18 Ole Peter Smith <<a href="mailto:ole.ufg@gmail.com">ole.ufg@gmail.com</a>><br>
>>>>><br>
>>>>> eu fazia o split(/\s+/,..) primeiro e depois o split(/[\\\/]/,...)<br>
>>>>> depois (ou melhor ainda: if (=~/[\\\/]/...).<br>
>>>>><br>
>>>>> 0le<br>
>>>>><br>
>>>>><br>
>>>>> 2013/3/18 Ole Peter Smith <<a href="mailto:ole.ufg@gmail.com">ole.ufg@gmail.com</a>><br>
>>>>>><br>
>>>>>> somente se vc pode garantir que nao ha mais '/' nos strings... caso<br>
>>>>>> sim, tera que tratar isso.<br>
>>>>>><br>
>>>>>> 0le<br>
>>>>>><br>
>>>>>><br>
>>>>>> 2013/3/18 Guilherme Alves <<a href="mailto:guilhermeareal%2Briopm@gmail.com">guilhermeareal+riopm@gmail.com</a>><br>
>>>>>>><br>
>>>>>>> Caros Monges,<br>
>>>>>>><br>
>>>>>>> venho aqui pedir ajuda de vocês para solucionar o meu problema.<br>
>>>>>>><br>
>>>>>>> Tenho o seguinte arquivo de texto:<br>
>>>>>>> ----------DATA<br>
>>>>>>> 25/Bla Primeira Entrada<br>
>>>>>>> 2/Tal Segunda Entrada de Texto<br>
>>>>>>> ----------DATA<br>
>>>>>>><br>
>>>>>>> Gostaria de fazer com que o texto fique com:<br>
>>>>>>><br>
>>>>>>> $var1=25<br>
>>>>>>> $var2=Bla<br>
>>>>>>> $var3=Primeira Entrada<br>
>>>>>>><br>
>>>>>>> e<br>
>>>>>>><br>
>>>>>>> $var1=2<br>
>>>>>>> $var2=Tal<br>
>>>>>>> $var3=Segunda Entrada de Texto<br>
>>>>>>><br>
>>>>>>> Para isto fiz um loop para o tratamento de cada linha. No momento uso<br>
>>>>>>> 2 splits (um para o "/"e outro para o primeiro espaço em branco)<br>
>>>>>>><br>
>>>>>>> ($var1,$lixo) = split("/",$linha);<br>
>>>>>>> ($var2,$var3) = split(/\s+/,$lixo,2);<br>
>>>>>>><br>
>>>>>>> Isto funciona porém o $var3 está ficando estranho, possuindo quebras<br>
>>>>>>> de linhas e tal.<br>
>>>>>>><br>
>>>>>>> Gostaria de saber se existe alguma maneira de eu fazer este split<br>
>>>>>>> todo de uma só vez, tipo:<br>
>>>>>>> ($var1,$var2,$var3) = split("/\s+",$linha,3);<br>
>>>>>>><br>
>>>>>>><br>
>>>>>>> Obrigado pela ajuda..<br>
>>>>>>><br>
>>>>>>><br>
>>>>>>><br>
>>>>>>> --<br>
>>>>>>> Guilherme Alves<br>
>>>>>>><br>
>>>>>>> Redes, Sites e Sistemas(RSS) - GRIS-DCC-UFRJ<br>
>>>>>>> Grupo de Resposta a Incidentes de Segurança<br>
>>>>>>> Conheça o GRIS em <a href="http://www.gris.dcc.ufrj.br" target="_blank">www.gris.dcc.ufrj.br</a><br>
>>>>>>><br>
>>>>>>> _______________________________________________<br>
>>>>>>> Rio-pm mailing list<br>
>>>>>>> <a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
>>>>>>> <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
>>>>>><br>
>>>>>><br>
>>>>>><br>
>>>>>><br>
>>>>>> --<br>
>>>>>>                                             /////<br>
>>>>>>                                          ( O O )<br>
>>>>>> =================oOO==(_)==OOo=================<br>
>>>>>>             Every day and every hour, I'm Learning more<br>
>>>>>>           The more I Learn, the less I Know about before<br>
>>>>>>          The Less I know, the more I want to Look around<br>
>>>>>>              Diggin' deeper into Higher Ground...  UB40<br>
>>>>>>                                    .oooO Oooo.<br>
>>>>>> ==================(     )=(     )=====================<br>
>>>>>>                                      \  (     )  /<br>
>>>>>>                                       \_)   (_/<br>
>>>>>> ===============================================<br>
>>>>>>                         Ole Peter Smith, IME, UFG<br>
>>>>>>             <a href="http://olepeter.mat.ufg.br" target="_blank">http://olepeter.mat.ufg.br</a>  - ole at <a href="http://mat.ufg.br" target="_blank">mat.ufg.br</a><br>
>>>>>> ===============================================<br>
>>>>>>                    Life sure is a Mystery to be Lived<br>
>>>>>>                       Not a Problem to be Solved<br>
>>>>>> ===============================================<br>
>>>>><br>
>>>>><br>
>>>>><br>
>>>>><br>
>>>>> --<br>
>>>>>                                             /////<br>
>>>>>                                          ( O O )<br>
>>>>> =================oOO==(_)==OOo=================<br>
>>>>>             Every day and every hour, I'm Learning more<br>
>>>>>           The more I Learn, the less I Know about before<br>
>>>>>          The Less I know, the more I want to Look around<br>
>>>>>              Diggin' deeper into Higher Ground...  UB40<br>
>>>>>                                    .oooO Oooo.<br>
>>>>> ==================(     )=(     )=====================<br>
>>>>>                                      \  (     )  /<br>
>>>>>                                       \_)   (_/<br>
>>>>> ===============================================<br>
>>>>>                         Ole Peter Smith, IME, UFG<br>
>>>>>             <a href="http://olepeter.mat.ufg.br" target="_blank">http://olepeter.mat.ufg.br</a>  - ole at <a href="http://mat.ufg.br" target="_blank">mat.ufg.br</a><br>
>>>>> ===============================================<br>
>>>>>                    Life sure is a Mystery to be Lived<br>
>>>>>                       Not a Problem to be Solved<br>
>>>>> ===============================================<br>
>>>>><br>
>>>>> _______________________________________________<br>
>>>>> Rio-pm mailing list<br>
>>>>> <a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
>>>>> <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
>>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>> --<br>
>>>> Guilherme Alves<br>
>>>><br>
>>>> Redes, Sites e Sistemas(RSS) - GRIS-DCC-UFRJ<br>
>>>> Grupo de Resposta a Incidentes de Segurança<br>
>>>> Conheça o GRIS em <a href="http://www.gris.dcc.ufrj.br" target="_blank">www.gris.dcc.ufrj.br</a><br>
>>><br>
>>><br>
>>><br>
>>><br>
>>> --<br>
>>> Guilherme Alves<br>
>>><br>
>>> Redes, Sites e Sistemas(RSS) - GRIS-DCC-UFRJ<br>
>>> Grupo de Resposta a Incidentes de Segurança<br>
>>> Conheça o GRIS em <a href="http://www.gris.dcc.ufrj.br" target="_blank">www.gris.dcc.ufrj.br</a><br>
>>><br>
>>> _______________________________________________<br>
>>> Rio-pm mailing list<br>
>>> <a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
>>> <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
>><br>
>><br>
>><br>
>><br>
>> --<br>
>>                                             /////<br>
>>                                          ( O O )<br>
>> =================oOO==(_)==OOo=================<br>
>>             Every day and every hour, I'm Learning more<br>
>>           The more I Learn, the less I Know about before<br>
>>          The Less I know, the more I want to Look around<br>
>>              Diggin' deeper into Higher Ground...  UB40<br>
>>                                    .oooO Oooo.<br>
>> ==================(     )=(     )=====================<br>
>>                                      \  (     )  /<br>
>>                                       \_)   (_/<br>
>> ===============================================<br>
>>                         Ole Peter Smith, IME, UFG<br>
>>             <a href="http://olepeter.mat.ufg.br" target="_blank">http://olepeter.mat.ufg.br</a>  - ole at <a href="http://mat.ufg.br" target="_blank">mat.ufg.br</a><br>
>> ===============================================<br>
>>                    Life sure is a Mystery to be Lived<br>
>>                       Not a Problem to be Solved<br>
>> ===============================================<br>
>><br>
>> _______________________________________________<br>
>> Rio-pm mailing list<br>
>> <a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
>> <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
><br>
><br>
><br>
><br>
> --<br>
> Guilherme Alves<br>
><br>
> Redes, Sites e Sistemas(RSS) - GRIS-DCC-UFRJ<br>
> Grupo de Resposta a Incidentes de Segurança<br>
> Conheça o GRIS em <a href="http://www.gris.dcc.ufrj.br" target="_blank">www.gris.dcc.ufrj.br</a><br>
><br>
> _______________________________________________<br>
> Rio-pm mailing list<br>
> <a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
> <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
_______________________________________________<br>
Rio-pm mailing list<br>
<a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Guilherme Alves<br><br>Redes, Sites e Sistemas(RSS) - GRIS-DCC-UFRJ<br>Grupo de Resposta a Incidentes de Segurança <br>Conheça o GRIS em <a href="http://www.gris.dcc.ufrj.br" target="_blank">www.gris.dcc.ufrj.br</a>
</div>