jonny: Spalten sortieren

Beitrag lesen

Hallo,,

@sortiert = map  { $_->[0] }
            sort { $a->[1] <=> $b->[1] }
            map  { [ $_, (split / /)[$nr] ] } @zeilen;

Zur Erklärung (von unten nach oben):

wauh ... das ist harter Tobak! Da werde ich wohl hart durchkämpfen müssen!

Ich möchte dir gerne mal zeigen, was ich mir vorgestellt hatte und fände es klasse, wenn du es mal bewerten könntest... oder einer der anderen Proggis hier.

Folgendes Beispiel:

es soll nach Spalte 2 sortiert werden

my $c=2;
my @data0;
my @data1;
my @data2;
my @data3;
my @data4;
my @data5;
my $s=0;

while(<FILE>) {
   my @tmp=split / /,$_;
   $tmp[$t]="$tmp[$t]n$t";  #n$t als Index
   $data0[$s]=$tmp[0];
   $data1[$s]=$tmp[1];
   $data2[$s]=$tmp[2];
   $data3[$s]=$tmp[3];
   $data4[$s]=$tmp[4];
   $data5[$s]=$tmp[5];
   $s++;
}

@data2=sort{ lc($a) cmp lc($b) } @data2;

for(my $i=0 ; $i <= $s ; $i++) {
   my $index=$data2[$i];
   $index=~s/.*n//g;
   $data2[$i]=~s/n.*//;
   print "$data0[$index] $data1[$index] $data2[$i] $data3[$index] $data4[$index] $data5[$index]\n";
}

Ist das sehr schlecht?

Schreibfehler bitte ich zu verzeihen, aber mein Grundkonstrukt sollte klar sein... hoffentlich!

Mfg,
Jonny