| Input and output functionsGet a directory from a directory handleDaftar Isi - readdir DIRHANDLE
Returns the next directory entry for a directory opened by opendir .If used in list context, returns all the rest of the entries in thedirectory. If there are no more entries, returns the undefined value inscalar context and the empty list in list context. If you're planning to filetest the return values out of a readdir , you'dbetter prepend the directory in question. Otherwise, because we didn'tchdir there, it would have been testing the wrong file. - opendir(my $dh, $some_dir) || die "can't opendir $some_dir: $!";
- @dots = grep { /^\./ && -f "$some_dir/$_" } readdir($dh);
- closedir $dh;
As of Perl 5.11.2 you can use a bare readdir in a while loop,which will set $_ on every iteration. - opendir(my $dh, $some_dir) || die;
- while(readdir $dh) {
- print "$some_dir/$_\n";
- }
- closedir $dh;
To avoid confusing would-be users of your code who are running earlierversions of Perl with mysterious failures, put this sort of thing at thetop of your file to signal that your code will work only on Perls of arecent vintage: - use 5.012; # so readdir assigns to $_ in a lone while test
|
| |
|