utime - set a file's last access and modify times |
utime - set a file's last access and modify times
utime LIST
Changes the access and modification times on each file of a list of
files. The first two elements of the list must be the NUMERICAL access
and modification times, in that order. Returns the number of files
successfully changed. The inode change time of each file is set
to the current time. For example, this code has the same effect as the
Unix touch(1)
command when the files already exist and belong to
the user running the program:
#!/usr/bin/perl $atime = $mtime = time; utime $atime, $mtime, @ARGV;
Since perl 5.7.2, if the first two elements of the list are undef
, then
the utime(2)
function in the C library will be called with a null second
argument. On most systems, this will set the file's access and
modification times to the current time (i.e. equivalent to the example
above) and will even work on other users' files where you have write
permission:
utime undef, undef, @ARGV;
Under NFS this will use the time of the NFS server, not the time of
the local machine. If there is a time synchronization problem, the
NFS server and local machine will have different times. The Unix
touch(1)
command will in fact normally use this form instead of the
one shown in the first example.
Note that only passing one of the first two elements as undef
will
be equivalent of passing it as 0 and will not have the same effect as
described when they are both undef
. This case will also trigger an
uninitialized warning.
utime - set a file's last access and modify times |