Posso brincar tb?!<br><br>já q é não didatico, eu pesso um GOLF!!!<br><br>perl -MData::Dumper -ne 's#^x{6}(\w+?)x{5}(\d+)x{6}([CV])$#$d{$1}+=$3 eq"C"?$2:-$2#e;END{print Dumper\%d}' data<br><br><div><span class="gmail_quote">
Em 09/08/07, <b class="gmail_sendername">Luis Motta Campos</b> <<a href="mailto:luismottacampos@yahoo.co.uk">luismottacampos@yahoo.co.uk</a>> escreveu:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
On Aug 8, 2007, at 10:46 PM, Daniel Projetos wrote:<br>> All,<br>> Estou com o seguinte problema: Tenho um arquivo texto com linhas<br>> assim:<br>><br>> xxxxxxPETR4xxxxx10000xxxxxxC<br>> xxxxxxPETR4xxxxx12000xxxxxxV
<br>> xxxxxxVALE5xxxxx10000xxxxxxC<br>> xxxxxxVALE5xxxxx14000xxxxxxV<br>><br>> Eu separei o número de caracteres e fiz da seguinte forma:<br>> ex.:<br>><br>> PETR4 10000 C<br>> PETR4 12000 V<br>>
<br>> Preciso fazer uma matriz que, sempre que tiver o mesmo nome, ou<br>> seja neste<br>> caso, PETR4 ele some os valores depois no caso de venda (V) e subtraia<br>> compra (C)...<br><br> Uhg. Problema simples.
<br> Resposta simples:<br><br>#!perl<br># ATENCAO: Isto nao eh didatico, eh apenas um exercicio.<br># ;) Use por sua conta e risco.<br>use strict;<br>use warnings;<br><br>my $data;<br><br>s{^x{6}([A-Z0-9]+)x{5}(\d+)x{6}([CV])$}
<br> { $data->{$1} += ( $3 eq 'C' ? $2 : ( -1 * $2 ) ) }emx<br> foreach (<DATA>);<br><br>use Data::Dumper;<br>print Dumper($data), $/;<br><br>__DATA__<br>xxxxxxPETR4xxxxx10000xxxxxxC<br>xxxxxxPETR4xxxxx12000xxxxxxV
<br>xxxxxxVALE5xxxxx10000xxxxxxC<br>xxxxxxVALE5xxxxx14000xxxxxxV<br><br><br><br>--<br>Luis Motta Campos (a.k.a. Monsieur Champs) is a software engineer,<br>Perl fanatic evangelist, and amateur {cook, photographer}<br><br>
<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">http://mail.pm.org/mailman/listinfo/saopaulo-pm
</a><br></blockquote></div><br><br clear="all"><br>-- <br>[]'s Fernando