perl -F\; -anE'chomp$F[1];++$m{$F[0]}{$F[1]}}{say join";",X=>keys%m;say join";",$_,@{$m{$_}}{keys%m}for keys%m' tabela.txt<br clear="all"><br>ABS()<br><br>
<br><br><div class="gmail_quote">2012/6/1 Fernando Oliveira <span dir="ltr"><<a href="mailto:fernandocorrea@gmail.com" target="_blank">fernandocorrea@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Menor:<div><br></div><div>perl -lnE'/;/;$l{$'}//=$i++;$c{$`}=[];$c{$`}[$l{$'}]=1}{$,=";";say"",sort{$l{$a}<=>$l{$b}}keys%l;say$_,@{$c{$_}}[0..keys%l]for keys%c' tabela.txt<div class="im">

<br clear="all">

<br><br><br>Just another Perl Hacker,<br>Fernando (SmokeMachine)<br>
<br><br></div><div class="gmail_quote">Em 1 de junho de 2012 12:34, Fernando Oliveira <span dir="ltr"><<a href="mailto:fernandocorrea@gmail.com" target="_blank">fernandocorrea@gmail.com</a>></span> escreveu:<div><div class="h5">

<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

s/exita/exista/<div><br clear="all"><br><br><br>Just another Perl Hacker,<br>Fernando (SmokeMachine)<br>
<br><br></div><div class="gmail_quote">Em 1 de junho de 2012 12:32, Fernando Oliveira <span dir="ltr"><<a href="mailto:fernandocorrea@gmail.com" target="_blank">fernandocorrea@gmail.com</a>></span> escreveu:<div><div>



<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Assumindo q exita o arquivo: tabela.txt<div>contendo:</div><div><br></div><div><div>Manoel;Pedro</div><div>Joao;Pedro</div><div>Pedro;Manoel</div><div><br></div>GOLF?!</div><div>minha 1a tacada:</div><div><br>perl -lnE'/;/;$l{$'}//=$i++;$c{$`}=[];$c{$`}[$l{$'}]=1}{say";",join(";",sort{$l{$a}<=>$l{$b}}keys%l);say join";",$_,@{$c{$_}}[0..keys%l]for keys%c' tabela.txt<div>




<br>
<br>Just another Perl Hacker,<br>Fernando (SmokeMachine)<br>
<br><br></div><div class="gmail_quote">Em 1 de junho de 2012 12:00, Stanislaw Pusep <span dir="ltr"><<a href="mailto:creaktive@gmail.com" target="_blank">creaktive@gmail.com</a>></span> escreveu:<div><div>
<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
@breno, infelizmente, se for um "CSV" gerado por algumas ferramentas de escritório cujo nome não quero citar nessa lista, expressão regular não basta, já dizia o brian d foy: <a href="http://www.effectiveperlprogramming.com/blog/1386" target="_blank">http://www.effectiveperlprogramming.com/blog/1386</a><div>







@cleysinho, bacana o Class:CSV, pelo que entendi, é uma interface "user-friendly" para o Text::CSV que, apesar de funcionar muito bem, é bastante prolixo. Um módulo que tentei usar recentemente é o Parse::CSV, porém ele, como já diz o nome, apenas lê o CSV (também via Text::CSV).<br clear="all">







<br>ABS()<div><div><br><br>
<br><br><div class="gmail_quote">2012/6/1 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">







2012/6/1 Manoel Domingues Junior <<a href="mailto:manoel.domingues.junior@gmail.com" target="_blank">manoel.domingues.junior@gmail.com</a>>:<br>
<div>> Olá pessoal,<br>
><br>
> Estou com um dificuldade em encontrar um módulo no cpan que me ajude a<br>
> fazer a geração de uma matriz...<br>
><br>
> Eu obtenho os dados de um software no seguinte formato:<br>
> Manoel;Pedro<br>
> João;Pedro<br>
> Pedro;Manoel<br>
> ....<br>
><br>
> Esses dados eu gostaria de colocar em uma matriz do tipo:<br>
> X; Pedro;Manoel;<br>
> Manoel; 1;;<br>
> João;1;;<br>
> Pedro;;1;<br>
><br>
> Alguém conhece algum módulo que me permita fazer isso?<br>
><br>
<br>
</div>Manoel,<br>
<br>
desculpa a pergunta, mas "isso" o quê? Pode ser pq ainda não acordei<br>
direito, mas não entendi o que vc está fazendo...<br>
<br>
Supondo que vc tem uma lista na forma:<br>
<br>
my @linhas = (<br>
    'Manoel;Pedro',<br>
    'João;Pedro',<br>
    'Pedro;Manoel',<br>
);<br>
<br>
você pode gerar uma nova lista fazendo algo como:<br>
<br>
my @nova = ();<br>
<br>
foreach my $linha (@linhas) {<br>
    my @campos = split /\s*;\s*/ => $linha;<br>
<br>
    # modifique @campos como bem entender...<br>
<br>
    push @nova, join ';' => @campos;<br>
}<br>
<br>
é isso?<br>
<br>
<br>
[]s<br>
<span><font color="#888888"><br>
-b<br>
</font></span><div><div>_______________________________________________<br>
Rio-pm mailing list<br>
<a href="mailto:Rio-pm@pm.org" target="_blank">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></div></div></div>
<br>_______________________________________________<br>
Rio-pm mailing list<br>
<a href="mailto:Rio-pm@pm.org" target="_blank">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></blockquote></div></div></div><br></div>
</blockquote></div></div></div><br>
</blockquote></div></div></div><br></div>
<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></blockquote></div><br>