2013-03-04T13:06:05
micneudein einzeiler ist klasse und funktioniert, nur verstehe ich nicht wie man es in einem echten script umsetzt.
ich glaube ich gebe auf, nutze kein perl mehr.... bin glaube ich zu doof.
nice day euch allen und noch viel spaß
Nicht gleich aufgeben! Ist doch gar nicht so schwer.
use strict;
use warnings;
my %words;
while(chomp(my $line = <>)) {
++$words{(split/:/, $line)[-1]};
}
for (sort {$words{$a} <=> $words{$b}} keys %words) {
say "$_: $words{$_}";
}
Ist der so formatierte Code besser?
- Einlesen: mit dem Handle <> liest du von der Standardeingabe oder einer übergebenen Datei. Dann Zeilenumbruch abschneiden (chomp).
- mit split das -1 (=letzte) Element der an : aufgesplitteten Zeile ermitteln
- ...und im Hash %words eins dazuaddieren
- dann sortiert ausgeben
Das hattest du doch schon praktisch alles fertig? Wenn du genauer fragst, was unklar ist, können wir dir helfen.