Thread Schwarzsche Transformation oder wie sortiere ich Tabellen in Perl (7 answers)
Opened by Ramona2012 at 2012-05-03 15:38

Ramona2012
 2012-05-03 15:38
#158003 #158003
User since
2012-05-03
3 Artikel
BenutzerIn
[default_avatar]
Hallo,
ich arbeite mich seit drei Wochen in Perl ein und stehe jetzt vor folgendem Problem:
ich habe einen Array, bei welchem jedes Element die Form
>locus 2 transcript 3/12 confidence 2.000 length 238
hat.
ich möchte nun aus diese "Liste" ordnen. Meine Idee war zunächst die Arrayelemente tab-separiert zu splitten und dann zu sortieren, meine bemühungen sind jedoch gescheitert. geordnet werden soll nach locus [2], länge [8], dann nach confidence [6].
ich bin auf die Schwarzsche-Transformation gestoßen und erhalte jedoch immer wieder folgenden Fehler:
Use of uninitialized value in numeric comparison (<=>) at Bach/Script/try.pl line 8.
mein Script sieht folgender maßen aus:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/usr/bin/perl -w
use strict;
use vars qw( @a @b );
open (INFILE, "/idtab.txt") or die $!;
my @array = <INFILE>;
close (INFILE);

        my @sorted =  map { $_->[0] } 
                
sort {
        $a->[1] <=> $b[1] or
        $b->[2] <=> $a[2] or
        $a->[3] <=> $b[3] 
}       
map {[$_,(split(/\t/,$_))[2,8,6]] } @array;
print @sorted;


kann mir jemand sagen, was ich falsch mache oder wie ich mein Problem lösen kann?
vielen dank im voraus!
ramona

modedit Editiert von pq: code-tags hinzugefügt
Last edited: 2012-05-03 15:47:56 +0200 (CEST)

View full thread Schwarzsche Transformation oder wie sortiere ich Tabellen in Perl