utime - set a file's last access and modify times

- NAME
- SYNOPSIS
- DESCRIPTION

# NAME

utime - set a file's last access and modify times

# SYNOPSIS

utime LIST

# DESCRIPTION

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