How about brackets around your utime arguments, to prevent the boolean OR operator from binding your error handling (die) to your third argument? I'd change || to or.
Your second substitution regex squishes the last two characters in the filename if the last character is whitespace. Is this what you wanted?
I'll give it a go but I'm not sure thats what you ment. My perl code is poor as I steal bits of my other also badly written scripts that worked ;)
I have a little trouble understanding comments at this stage but that helps with the learning so thanks.
Well, you changed || to or so you're partially there, but I was suggesting brackets around your arguments, not around the whole call to utime(), like so:
utime($access, $access, "/some/path/Some File.doc") or {...};
Jon
Update: I just saw too that you have die print ... and the print is unnecessary.