- 论坛徽章:
- 307
|
- #!/usr/bin/perl
- use strict;
- use warnings;
- my %hData;
- open (my $fhR, '<', './b');
- while (local $_ = <$fhR>){
- my ($fn, $id, $cnt) = split;
- push (@{$hData{$fn}}, [$id, $cnt]);
- }
- close ($fhR);
- foreach my $fn (glob('JF*')){
- my @aItems = @{$hData{$fn}};
- next if (!@aItems);
- open ($fhR, '<', $fn);
- my @aT;
- push (@aT, $_) for map {[/\d+/g]} <$fhR>;
- close ($fhR);
- foreach my $ra (sort {$a->[0] <=> $b->[0]} @aItems){
- my ($n, $x, $y, $z);
- $n++ if ($ra->[0]);
- foreach ($ra->[0] .. $#aT){
- last if ($n++ > $ra->[-1]);
- $x += $aT[$_][0];
- $y += $aT[$_][1];
- $z += $aT[$_][-1];
- }
- print "$fn,@{$ra} \$x=$x, \$y = $y, \$z = $z\n";
- }
- }
复制代码 |
|