Here is a really simple solution that will not use too much memory.
use strict;
use vars qw (%data);
open(KEYS, "keys.txt") or die "error: keys.txt $!";
open(VALS, "values.txt") or die "error: values.txt $!";
while (my $key = readline(*KEYS)) {
my $val = readline(*VALS);
chomp $key;
chomp $val;
print "$key = $val\n";
unless (exists $data{$key}) {
$data{$key}{min} = $data{$key}{max} = $data{$key}{total} = $va
+l;
$data{$key}{count} = 1;
} else {
$data{$key}{min} = $val if $data{$key}{min} > $val;
$data{$key}{max} = $val if $data{$key}{max} < $val;
$data{$key}{total} += $val;
$data{$key}{count}++;
}
}
use Data::Dumper;
print Dumper \%data;
-- gam3
A picture is worth a thousand words, but takes 200K.