my $dir = "/tmp"; opendir my $dh, $dir or die "opendir: $!"; my @files = grep { $_ = "$dir/$_"; -f && m/\.dat$/ } readdir($dh);