linux-l: An die Perl-Könner ;-)....
Ihno Krumreich
ihno at fh-brandenburg.de
Di Mai 18 09:26:46 CEST 1999
>
> Hallöhchen,
> ist sicher nur eine einfache Funktion aber ich bekomme sie einfach nicht
> hin !!!! (Anfänger!)
> Wie schaff ich es mittels Perl eine Liste zu sortieren ???? Die Liste
> besteht aus 4 Spalten und ich will sie nach der 2. Spalte sortieren lassen
> und wenn es geht dann noch nach der 1. Spalte ;-) aber auf jeden Fall
> erstmal nach der 2. Spalte !
> Aber Perl versteht ja nun unter Tabellen eher Listen also kann ich auf die
> Tabelle nun nicht einfach "sort" anwenden !?
> Also "einfach" die Tabelle aus einer Txt-Datei einlesen (Spalten sind durch
> ; getrennt) , das müßt ja dann ein assoziatives Array werden oder ?
> Dann nach der 2. Spalte sortieren (??????) und wieder als Tabelle ausgeben
> , also die Einträge wieder in eine andere Datei schreiben (das geht ja noch
> ;-) ) .
>
# Loeschen des Feldes
%daten = ();
# TODO oeffnen der Datei und einlesen einer Zeile in $zeile
while <noch_Daten>
do
# Aufspalten der Daten in die Felder
($spalte1,$spalte2,$spalte3,$spalte4) = split(/;/,$zeile);
# Assoziatives Feld mit Spalte2 und Spalte1 als Schluessel.
# Trennzeiche ":" kann beliebig veraendert werden.
$daten{"$spalte2:$spalte1"} = $zeile;
done
# Sortiren nach den Schluesseln und ausgeben
foreach $element sort(keys(%daten))
do
print $daten{$element};
done
so ungefaehr muesste es aussehen. Bitte keine Flames weil
die Syntax nicht 100% ist.
Gruss
Ihno Krumreich
==============================================================================
Ihno Krumreich | Phone (49) 3381 355438 U U N N III X X
FH Brandenburg | email: ihno at fh-brandenburg.de U U NN N I X X
Magdeburgerstr. 50 | FAX (49) 3381 355499 U U N N N I X
D-14770 Brandenburg | NIC:IK139 RIPE:IK255-RIPE U U N NN I X X
UUU N N III X X
___________________________________________________________________
NT is not the answer, it's the question and the answer is NO
Mehr Informationen über die Mailingliste linux-l