in reply to How can I readdir and ! -d in one line
Personally I prefer Path::Class:
use Path::Class qw/dir/; my @files = sort grep { !$_->is_dir && $_->basename=~/^[^.]/ } dir($path)->children;
Alternatively, a core-only way to do it is:
use File::Spec::Functions qw/ no_upwards catfile catdir /; opendir my $dh, $path or die "$path: $!"; my @files = sort map { catfile($path,$_) } grep { ! -d catdir($path,$_) && /^[^.]/ } no_upwards readdir $dh; closedir $dh;
|
|---|