SkÃ¥ne Sjælland Linux User Group - http://www.sslug.dk Forside   Tilmelding   Postarkiv   Forum   Kalender   Søg
MhonArc Dato: [Date Prev] [Kronologisk oversigt] [Date Next]   TrÃ¥d: [Date Prev] [Oversigt trÃ¥de] [Date Next]   MhonArc
 

Re: [PERL] Sortering af tal i en hash



----- Original Message -----
From: "Jesper Lund" <sslug@sslug>
To: <sslug@sslug>
Sent: Monday, June 18, 2001 11:31 PM
Subject: [PERL] Sortering af tal i en hash


> Hej,
>
> Jeg er ved at skrive lidt logparser til min ProFTPd log. I den
> frobindelse har jeg fået lavet noget med en hash der ser sådan her ud:
>
> $filnavn{antal gange den er hentet}
>
> Den vil jeg gerne have skrevet ud i nummerorden:
...
> men der kommer de jo i den rækkefælge de nu lige tilfældigt står i i
> hashen.
>
> Hvis jeg gerne vil have den fil der er downet flest gange øverst i
> tabellen, skal de sorteres efter det tal som man kan angove i hashen.
> Men hvordan ? Findes der en smart funktion, eller skal man selv lave
> noget spaghetti-programmering ?

Der findes en smart funktion, men den kan sagtens bruges til at lave
spaghetti-programmering :)

%j=('a'=>10,'j'=>20,'k'=>30,'b'=>40,'c'=>50);
print "$_ = $j{$_}\n" foreach(reverse sort{$j{$a} <=> $j{$b}} keys %j);

(dog skal det siges at hvis dit hash indeholder *MANGE* nøgler, så er den
der nok ikke særlig rar rent hukommelsesforbrug-mæssigt)

--
Mvh. Nezar Nielsen
http://fez.dk/




 
Forside   Tilmelding   Postarkiv   Oversigt   Kalender   Søg

 
 
Henvendelse vedrørende websiderne til <www_admin>. Senest ændret 2005-08-10, klokken 19:53
Denne side vedligeholdes af MHonArc .