-M Script start time minus file modification time, in days.
So, it can be negative if you modified the file within(=after execution) the script, as per:
sleep 1; `touch xbxbx`; my $x = -M "xbxbx"; print "x=$x\n";
Furthermore, the output of -M is fractional Earth days and 1 Earth second is that much of a 24hr Earth day: print sprintf "1 Earth second is %e of an Earth day\n", 1/(24*60*60); ... => 1.157407e-05, which btw is roughly PI/20 millions^-1.
Gosh Larry! My Perl code on Mars is buggy!