20.4.2008
Arrayeinträge zählen und sortiert nach Häufigkeit ausgeben Ich habe ja hier darüber geschrieben, wie man doppelte Arrayeinträge aussortiert und dabei die Reihenfolge beibehalten kann. Anhand des Beispieles fiel mir dann noch ein kleines Script ein, das man vielleicht öfters mal brauchen kann:Inhalte eines Arrays nach Häufigkeit sortieren.
Mein Script sieht folgendermaßen aus:
@a=qw(peter heiner franzl peter karin heike mia franz mia otto);
map {$hash{$_}++} @a;
@sortiert = map { $_->[0] } sort { $b->[1] <=> $a->[1] } map { ["$_ $hash{$_}mal", $hash{$_}] } (keys %hash) ;
print join ("\n",@sortiert);
|
Weiterlesen...
19.4.2008
Doppelte Elemente aus Array entfernen - Und die Reihenfolge beibehalten
Aufgrund einer Leseranfrage, wie man denn doppelte Elemente eines Arrays entfernen kann, die Reihenfolge aber beibehalten werden soll, hier mein kleiner Lösungsvorschlag.
Mit Hash-Slices und so hat dies nichts zu tun, vielmehr wird grep verwendet.
@a=qw(7 1 2 3 4 5 7 4 6 7 8 9 10);
@new=grep{$hash{$_}++; $hash{$_}<2} @a;
print join("\n",@new);
|
Weiterlesen...
1.4.2008
Letzte Befehle wiederholen unter Windows Vista - doskey Hallo mal wieder, habe schon lange nichts mehr geschrieben hier, bin anderweitig beschäftigt...
Nichts desto trotz fiel mir heute mal wieder was ein, was glaube ich wert ist, geschrieben zu werden.
Und zwar geht's um folgendes: Wer unter Windows Vista mit Perl programmiert, kommt ja nicht drumrum, ab und an in der Eingabeaufforderung seine Scripte zu testen. So geht's mir auch. Und wenn man da so am Testen und speziell am Fehlersuchen ist, kann es schon mal nerven, daß man ständig das "perl script.pl" eintippen muß, besonders, wenn die Scripte dann noch richtige Namen haben. Weiterlesen...
|