syslog.warten.de

Perl: Daten Nach Häufigkeit Sortieren

Die Aufgabe war, eine Liste von IP-Adressen einzulesen und nach Häufigkeit (numerisch) absteigend zu sortieren. Wie man hash values sortiert, wollte mir im entscheidenen Augenblick nicht einfallen und so hat die Lösung eine Viertelstunde auf sich warten lassen. Soll nicht wieder vorkommen.

#!/usr/bin/perl
my %counter;
while () {
    chomp( my $ip_address = $_ );
    $counter{$ip_address}  = 1;
}
for my $ip_address ( sort { $counter{$b}  $counter{$a} } keys %counter ) {
    print "$ip_address: $counter{$ip_address}n";
}