Posso brincar tb?!<br><br>já q é não didatico, eu pesso um GOLF!!!<br><br>perl -MData::Dumper -ne &#39;s#^x{6}(\w+?)x{5}(\d+)x{6}([CV])$#$d{$1}+=$3 eq&quot;C&quot;?$2:-$2#e;END{print Dumper\%d}&#39; data<br><br><div><span class="gmail_quote">
Em 09/08/07, <b class="gmail_sendername">Luis Motta Campos</b> &lt;<a href="mailto:luismottacampos@yahoo.co.uk">luismottacampos@yahoo.co.uk</a>&gt; 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>&gt; All,<br>&gt; Estou com o seguinte problema: Tenho um arquivo texto com linhas<br>&gt; assim:<br>&gt;<br>&gt; xxxxxxPETR4xxxxx10000xxxxxxC<br>&gt; xxxxxxPETR4xxxxx12000xxxxxxV
<br>&gt; xxxxxxVALE5xxxxx10000xxxxxxC<br>&gt; xxxxxxVALE5xxxxx14000xxxxxxV<br>&gt;<br>&gt; Eu separei o número de caracteres e fiz da seguinte forma:<br>&gt; ex.:<br>&gt;<br>&gt; PETR4 10000 C<br>&gt; PETR4 12000 V<br>&gt;
<br>&gt; Preciso fazer uma matriz que, sempre que tiver o mesmo nome, ou<br>&gt; seja neste<br>&gt; caso, PETR4 ele some os valores depois no caso de venda (V) e subtraia<br>&gt; compra (C)...<br><br>&nbsp;&nbsp; Uhg. Problema simples.
<br>&nbsp;&nbsp; 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>&nbsp;&nbsp;&nbsp;&nbsp; { $data-&gt;{$1} += ( $3 eq &#39;C&#39; ? $2 : ( -1 * $2 ) ) }emx<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach (&lt;DATA&gt;);<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>[]&#39;s Fernando