Calocybe: CGI sortieren von zwei Listen in abhängigkeit....

Beitrag lesen

Moin!

warum nicht einfach so:
my %Punkte = ();   #leeren des Hashes
foreach $dateiname (@dateien)
   {
  open(IN,$dateiname);

open(IN, "<$dateiname") or warn("Can't open $dateiname because: $!"), next;

while(<IN)

while(<IN>)

{
     chomp;
     my($name,$punkte) = split('=',$_); # oder irgendwas in der art
     $Punkte{$name} += $punkte; # achte auf das '+=' (Doku perlop lesen)
    }
  close(IN);
  }

Stimmt, diese Variante ist wohl vorzuziehen, zumindest solange es bei Namen und Punktestand bleibt (noch ein weiteres Feld wuerde dann doch wieder mehr Aufwand bedeuten).

foreach my $name ( sort {$Punkte{$a} cmp $Punkte{$b}} keys %Punkte)

muss <=> heissen, nicht cmp, denn es soll ein numerischer Vergleich durchgefuehrt werden, kein zeichenweiser

{
  # sonst mach was mit der nach score sortierten liste
  }

So long