opendir(DIR, $directory) or die $!; @files = grep { /^\w{3}\d*:log.$date$/ } readdir(DIR); foreach my $line (@files) { $line =~ m/^(\w{3}\d*):log.$date$/; $fileHash{$1} = $line; } closedir DIR;