|
|||||||||||||||||||||||||||
YES !!!
Det var lige dte jeg skulle bruge ! Så har jeg også lært noget idag, dagen har ikke være spildt....
Mvh. Jesper
Thomas Eibner wrote:
> On Mon, Jun 18, 2001 at 11:31:29PM +0200, Jesper Lund wrote:
> > 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:
> >
> > print "<table border=1>\n";
> > foreach $i (keys(%filnavn)) {
> > print "<tr><td>$i<td>$filnavn{$i}\n";
> > }
> >
> > 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 ?
>
> $ perl -e '%filnavn = ("en" => 5, "to" => 3, "tre" => 10); print map { "$_ => $filnavn{$_}\n" } sort { $filnavn{$b} <=> $filnavn{$a} } keys %filnavn;'
> tre => 10
> en => 5
> to => 3
>
> Saa noget lignende:
> foreach my $fil (sort { $filnav{$b} <=> $filnavn{$a} } keys %filnavn) {
>
> burde vaere det du leder efter..
>
> --
> Thomas Eibner <http://thomas.eibner.dk/> DnsZone <http://dnszone.org/>
> mod_pointer <http://stderr.net/mod_pointer>
|
||||||||||||||
|
||||||||||||||