Hi huck,
I'm not sure to understand what you mean, but take a look at this:
$ perl -E '@c = glob "*.*"; say for @c;'
1095341.pl
172.20.98.3.txt
8188eu-v7-20150914.tar.gz
a.exe
a.pl
abdou.pl
add2.pl
add_2.pl
age_switch.pl
amazon.pl
anagrams.pl
any.pl
any2.pl
any3.pl
aoh.pl
[... many lines omitted for brevity ...]
warnings.txt
weight.pl
while.pl
wifi.pl
words.txt
xml.pl
xml_mac.pl
xxxA.txt
xxxH.txt
xxxL.txt
$
| [reply] [d/l] |
| [reply] |
Thank you for the information, soonix.
| [reply] |
I'm not sure to understand what you mean
Nowhere did the OP mention glob. Given the task of populating an array with all the filenames in a directory i would first pick readdir over glob. Im pretty sure readdir returns the files in the order in which they are stored in the directory.
| [reply] |
Thank you for your answer. Well, I very much prefer to use glob (rather than readdir) when I can for a number of reasons, the main one being that it gives you the relative path (making coding easier), another one that it takes only one code line instead of two (or even three if you close the dir handle), and finally that it removes some special directories. And we have no idea on how the OP is retrieving the files in the relevant directory.
I am not sure what "the files in the order in which they are stored in the directory" really means; as as I can say, the files are not stored in any specific order on disk (they may even be scattered on non continuous blocks), it is the file system (FAT, ext2, ext3, NTFS, etc.) which may give some sort of order to the collection of files. So the question is really: how does the file system returns the entries for a given directory?
Finally, using readdir still gives me the file in ASCIIbetical order (or, at least, in a pseudo-alphabetical order which is perfectly suitable for the proposal made by AnoMonk):
$ perl -E 'opendir $d, "."; say $_ for readdir $d;'
.
..
,
----------------------------------------------------------------------
+--------------
.bashrc
.bashrc~
.bash_history
.bash_profile
.cpan
.emacs.d
.inputrc
.joe_state
.lesshst
.minttyrc
.perldb_t
.profile
.ssh
1000
1095341.pl
172.20.98.3.txt
2000
500
8188eu-v7-20150914.tar.gz
a.exe
a.pl
abdou.pl
Acme
add2.pl
add_2.pl
age_switch.pl
[many lines omitted for brevity]
xml.pl
xml_mac.pl
xxxA.txt
xxxH.txt
xxxL.txt
X_oper.pl
| [reply] [d/l] [select] |