Thread Komplexer sort (natürliche Sortierung)
(13 answers)
Opened by Student87 at 2012-11-23 17:10
Kleine Modifikation:
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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 #! /usr/bin/perl use strict; use warnings; # use Getopt::Long; # use CGI; my @list = qw( chr10 chr10 chr10 chr10 chrY chrY chrY chr1 chr1 chr1 chrX chrX chrX chrX chr2 chr2 chr2 ); my @sorted = sort { my ( $strA, $numA ) = $a =~ m/(\D+)(\d+)?/; my ( $strB, $numB ) = $b =~ m/(\D+)(\d+)?/; if ( defined $numA && defined $numB ) { $strA cmp $strB || $numA <=> $numB } else { $strA cmp $strB } } @list; print join "\n", @sorted; __END__ Liefert mir: Code: (dl
)
1 chr1 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! |