in reply to How can I get -M to work properly?

This is unlikely to be a permissions problem, as you can read the directory to get the names of the files (I'm assuming your script prints out the names).

You might want to try listing the mod times in your script:

my @stat = stat($file); print $file, " ", scalar(localtime($stat[9])), "\n";

update: -M returns a float.