[SP-pm] Ajuda em matriz

Nelson Ferraz nferraz em gmail.com
Quarta Agosto 8 14:33:09 PDT 2007


#!/usr/bin/perl

use strict;
use warnings;

# skip 6 bytes, get 5; skip 5, get 5; skip 6, get 1
my $UNPACK_TEMPLATE = "x6 A5 x5 A5 x6 A1";

my %sum = ();
while ( my $string = <DATA> ) {
    chomp $string;
    next if !$string;
    my ( $key, $value, $op ) = unpack( $UNPACK_TEMPLATE, $string );
    if ( $op eq 'C' ) {
        $sum{$key} -= $value;
    } else {
        $sum{$key} += $value;
    }
}

use Data::Dumper;
print Dumper \%sum;

__DATA__

xxxxxxPETR4xxxxx10000xxxxxxC
xxxxxxPETR4xxxxx12000xxxxxxV
xxxxxxVALE5xxxxx10000xxxxxxC
xxxxxxVALE5xxxxx14000xxxxxxV


Mais detalhes sobre a lista de discussão SaoPaulo-pm