in reply to Re^4: list files based on age and pattern
in thread list files based on age and pattern

My fault. You need to add the path to the filename when testing with -M like this

my @files = grep {!/\_NSA|d+_\d+\.xml/ && (-M "$path/$_") > $min_age} readdir DIR;

I only tested in the current directory where it does not make any difference.