perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 25
Click for quality!




11.02.2012 / 08:21

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


Beitragsort() funktioniert nur manchmal?!?
Seitenanfang
Hallo!

Ich habe ein Problem: Ich möchte eine Liste von Dateinamen einlsen und diese anschließend alphabetisch sortiert wieder ausgeben. Dazu verwende ich folgendes:


opendir(DIR, "$pathbackupdir") || die "Missing file/dir.";
my @Eintraege = readdir(DIR);
closedir(DIR);

@Eintraege = sort { $a <=> $b } @Eintraege;

foreach(@Eintraege) {
print $_\n";
}

"Manchmal" funktioniert das auch korrekt (ich kann es wirklich nicht näher einkriesen...), manchmal erhalte ich aber auch eine Liste, die komplett durcheinandergewürfelt ist und überhaupt nicht sortiert scheint:


en.requestform_custom_3.html
en.email_custom_head.txt
en.email_confirm.html
en.admin_licences_add_foot.html
en.admin_index_foot.html
en.show_licenceoverview_locked_static_foot.html
en.admin_error.html

Wahrscheinlich mache ich irgendetwas falsch ;-) Vielleicht kann ja jemand schnell Abhilfe schaffen...

Danke,
Michael

Datum: 29.11.2009-09:52

Beitragre: sort() funktioniert nur manchmal?!?
Seitenanfang
Dein Fehler liegt darin, dass Du in dem sort einen numerischen Vergleich machst (durch den <=> Operator). Benutze einfach den Vergleichsoperator für asciibetische Sortierung (cmp):

@Eintraege = sort{ $a cmp $b }@Eintrage;

Datum: 29.11.2009-14:10

Beitragre: sort() funktioniert nur manchmal?!?
Seitenanfang
Super, vielen Dank! Ich wusste doch, dass es wiede rnut eine Kleinigkeit gewesen sein konnte ;-)

Grüße,
Michael

Datum: 29.11.2009-18:04

-






-
-