3 Einträge, 1 Seite |
1
2
3
4
5
6
0001 Ein Eintrag
0002 Noch ein Eintrag
0008 Ein weiterer Eintrag
0003 Und alles auch noch durcheinander
0008 Und aufgrund der geringen Auflösung auch noch gleiche timestamps
0010 Und es geht immer so weiter...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
#!/usr/bin/perl use strict; use warnings; my @data=<DATA>; @data=sort{my($aa)=$a=~/^(\d+)/; my ($bb)=$b=~/^(\d+)/; $aa <=> $bb}@data; print join('',@data)."\n"; __DATA__ 0001 Ein Eintrag 0002 Noch ein Eintrag 0008 Ein weiterer Eintrag 0003 Und alles auch noch durcheinander 0008 Und aufgrund der geringen Auflösung auch noch gleiche timestamps 0010 Und es geht immer so weiter...
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
#!/usr/bin/perl use strict; use warnings; my @array=(); my $pos=tell(DATA); while(my $line=<DATA>) { my ($time)=$line=~/^(\d+)/; push(@array,[$time,$pos]); $pos=tell(DATA); } for my $p (sort{$a->[0] <=> $b->[0]}@array) { seek(DATA,$p->[1],0); my $line=<DATA>; ### AUSGABE ### print $line; } __DATA__ 0001 Ein Eintrag 0002 Noch ein Eintrag 0008 Ein weiterer Eintrag 0003 Und alles auch noch durcheinander 0008 Und aufgrund der geringen Auflösung auch noch gleiche timestamps 0010 Und es geht immer so weiter...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
#!/usr/bin/perl use strict; use warnings; my @data=map{$_=~/^(\d+)/;$_=[$1,$_]}(<DATA>); @data=sort{$a->[0] <=> $b->[0]}@data; for my $p (@data) { print $p->[1]; } __DATA__ 0001 Ein Eintrag 0002 Noch ein Eintrag 0008 Ein weiterer Eintrag 0003 Und alles auch noch durcheinander 0008 Und aufgrund der geringen Auflösung auch noch gleiche timestamps 0010 Und es geht immer so weiter...
3 Einträge, 1 Seite |