I have a multi-gigabyte file.
Is there an easy way to change the modification timestamp of a file without opening it, modifing it, and closing it again? I'd like to do it using standard Perl. I'm using v5.8. I'd like to do it without creating a second or temporary file too.
I just want to change the modifiation time, not the contents. It would be great if there was a simple function call to do it.
Thanks in advance.
Update
Thanks for all the great answers. I should have said I was using ActiveState Perl on Windows. I just wrote a little touch.pl script and stuck it in my utilities folder. It amounts to this:
use strict;
use warnings;
die "bad file name: $ARGV[0]" if !-e $ARGV[0];
my $atime = (stat($ARGV[0]))[8];
utime $atime, time(), $ARGV[0];