Thread Dateisortierung (39 answers)
Opened by IceRage at 2012-02-04 02:17

pq
 2012-02-04 18:00
#155864 #155864
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
2012-02-04T16:46:17 GUIfreund
2012-02-04T13:57:58 pq
zweitens vergleichst du in sort $a und $b, aber $a und $b sind array-referenzen, da wirst du also eher was zufälliges rausbekommen.

Ich vergleiche (zugegebener Weise ungewollt) Referenzen auf anonyme Arrays, sortiere also nach ihrer Erzeugungsfolge, letztlich also nach der Reihenfolge, in der die Dateinamen von readdir geliefert werden.

es gibt keine garantie, dass die speicheradressen der arrayreferenzen immer aufsteigend sind. und sind sie hier auch nicht.

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
my @a;
for (0..10) {
my $ref = [$_];
push @a, $ref;
}
for (sort { $a cmp $b } @a) {
say "ref: $_ item: $_->[0]"
}

ref: ARRAY(0x833da18) item: 0
ref: ARRAY(0x8358198) item: 1
ref: ARRAY(0x83581b8) item: 6
ref: ARRAY(0x8358208) item: 4
ref: ARRAY(0x8358258) item: 5
ref: ARRAY(0x83582e8) item: 3
ref: ARRAY(0x8358338) item: 2
ref: ARRAY(0x83584a8) item: 8
ref: ARRAY(0x83584d8) item: 7
ref: ARRAY(0x8364ea0) item: 9
ref: ARRAY(0x8364ed0) item: 10

Last edited: 2012-02-04 18:04:11 +0100 (CET)
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread Dateisortierung