foreach my $filename(keys %Hash_filenames) { @{ $Hash_filematches{ $filename } } = grep( (/\/\Q$file_name\E#/i && !/\.plf/), @{ $Hash_filenames{ $filename } });------>this grep seems to be failing, }#for loop end