use strict; use warnings; opendir my $scanDir, $directory or die "Unable to open directory $directory: $!\n" my @files = grep /^R/, readdir $scanDir; closedir $scanDir; for my $filename (@files) { open my $inFile, '<', "$directory/$filename" or die "Can't open $directory/$filename: $!"; ... close $inFile; }