Ich seh deine Frage nicht so ganz. Wenn du das gleiche mit einer zweiten Datei machen willst, geht das, indem du entweder eine Schleife machst, oder den Code zweimal hintereinander schreibst. Nummerische Vergleiche gehen mit ==. Und wenn du wissen willst, wie du die Datei2 in den Hash kriegst, so wie die Datei 1 drinsteht, dann geht das so:
open DATEI, "<$dateiname" or die "Error in reading $dateiname: $!\n";
while(<DATEI>){
if(m/((\d+)\.(\d+)\.(\d+)\.(\d+)) (\d)/)
{
$hash{$1}+=$2;
}else{
warn "Zeile $. in Dateiname schaut nicht so aus wie erwartet\n";
}
}
close DATEI;
[edit]Strat: Fehlerabfrage bei open hinzugefuegt...[/edit]\n\n
<!--EDIT|Strat|1112166170-->
sub z{if(@_){1while$x[$k=rand 10];t($t=$x[$k]=1)}print map"$z[$x[$_]]$_".($_%3?
"":"\n"),1..9}sub t{$j=0;$x[$_+1]==$t&&($j+=2**$_)for 0..8;z,die"Gewinner $z[$t]
"if grep$_==($j&$_),7,56,73,84,146,273,292,448;z,die"Gleichstand\n"if@x>9&&!grep
!$_,@x}@x=4;@z=qw{. [ (};z$^T&1;while(<>){next if$_>9||$x[$_];t$t=$x[$_]=2;z 1}