Thread Natürlicher Sort, aber nicht mit @sorted = sort @unsorted (30 answers)
Opened by Student87 at 2013-02-05 17:52

Student87
 2013-02-07 16:10
#165575 #165575
User since
2012-11-08
73 Artikel
BenutzerIn
[default_avatar]
Ou mann ich hatte grade ne Reihe von Aha-Erlebnissen :-)

FIFO, du hattest recht. Ich benutze ein file, das von anderen Leuten erstellt wurde - scheinbar unter Windows. Hab grad gelernt, dass bei denen \n = \r\n ist. Das hat mich etwas gestresst mit diesem mysteriösen \r ...

Hinzu kommt, dass man $1 nicht verändern darf. Zeile 6&7 meines Codes produzieren also auch ne Fehlermeldung.

@Linuxer:
Mit \S schneidet er nur das \n ab, aber das \r bleibt.


Meine Lösung sieht jetzt folgendermaßen aus:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
my @sorted =
        map{$_->[0]}
        sort {$a->[1] <=> $b->[1]}
        map{
        /chr(.+)/;
        my $x = $1;
        if ($x eq "X\r\n") {$x=23}
        if ($x eq "Y\r\n") {$x=24}
        $_=[$_,$x]
        } @unsorted;


Gibt es ein Windows-chomp in Perl, das mir direkt \r\n entfernt?

Edit: Finde nämlich das \r\n in den If-Konditionen etwas hässlich :-D Und außerdem ist für z.B. chr2 $x="2\r\n", was auch irgendwie unsauber ist ...
Last edited: 2013-02-07 16:14:55 +0100 (CET)

View full thread Natürlicher Sort, aber nicht mit @sorted = sort @unsorted