Hallo Peter,
Ich habe schon zahlreiche Versuche durchgespielt, aber leider erfüllt
keiner seinen Zweck. Ich hoffe, von euch kann mir jemand helfen.
Zuerst musst du die Dateien in eine verwertbare Form ueberfuehren:
my ($file1,$file2) = ({},{});
read_file('datei1',$file1);
read_file('datei2',$file2);
sub read_file {
my $filename = shift;
my $ref = shift;
open DAT,'<'.$filename or die $!;
while(<DAT>) {
chomp;
next unless m!^(\d+);(.*)$!;
$ref->{$2} = $1;
}
close DAT;
}
Dann kannst du das ganze sehr einfach vergleichen:
my $merged = {};
foreach my $hash ($file1,$file2) {
foreach my $key (keys %{$hash}) {
$merged->{$key} = 0 unless exists $merged->{$key};
$merged->{$key} += $hash->{$key};
}
}
Die Keys sind die Serien-Nummern, die Values die Anzahl.
Grüße,
CK
Es gibt keinen Ort, wo der Geist zu finden waere. Er ist wie die Fussspuren der Voegel am Himmel.