http://www.perlmonks.org?node_id=136208


in reply to Re: Reading Filenames
in thread Reading Filenames

forgot to log in :P

i didn't see a single reply that said "why don't you sort @files after getting it".. so i'm here to say it just put this after your statement:

@files = sort @files;

and that'll fix your problems :)

Replies are listed 'Best First'.
Re: Re: Re: Reading Filenames
by archen (Pilgrim) on Jan 04, 2002 at 20:01 UTC
    As was said before, readdir (where'd the '@' come from?) is very system dependant. You might also note that MS Windows is not case sensitive, while Unix is. So if you wanted to make sure that the list came out the same on every operating system, you should probably do a case insensitive sort. Then again if you're sticking to Unix, a strait sort will be faster.
    @files = sort { lc($a) cmp lc($b) } @files;
    Update - oops, nevermind. I don't know what I'm talking about... not enough sleep.