Thread Schwarzsche Transformation oder wie sortiere ich Tabellen in Perl
(7 answers)
Opened by Ramona2012 at 2012-05-03 15:38
Und hier eine Variante, die berücksichtigt, falls von den gewünschten Datenfeldern keine definierten Werte ankommen.
Code: (dl
)
map { defined $_ ? $_ : 0 } (split /\s+/, $_)[1,5,7] Das prüft, ob die ausgewählten Felder definiert sind; wenn nicht, wird statt "undef" eine 0 verwendet. Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 #! /usr/bin/perl use strict; use warnings; my @sorted = map { $_->[0] } sort { $a->[1] <=> $b->[1] || $a->[2] <=> $b->[2] || $a->[3] <=> $b->[3] } map { [ $_, map { defined $_ ? $_ : 0 } (split /\s+/, $_)[1,5,7] ] } <DATA>; use Data::Dumper; print Dumper \@sorted; __DATA__ locus 1 transcript 3/12 confidence 11.000 length 238 locus 2 transcript 3/12 confidence 12.000 length 238 locus 5 transcript 3/12 confidence 15.000 length 238 locus 3 transcript 3/12 confidence 13.000 length 238 locus 6 transcript 3/12 confidence 16.000 length 238 locus 4 transcript 3/12 confidence 14.000 length locus 1 transcript 3/12 confidence 11.000 length 138 meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen! |