NAME¶
File::Touch - update file access and modification times, optionally creating
files if needed
SYNOPSIS¶
use File::Touch;
@file_list = ('one.txt','../two.doc');
$count = touch(@file_list);
use File::Touch;
$reference_file = '/etc/passwd';
$touch_obj = File::Touch->new(
reference => $reference_file,
no_create => 1
);
@file_list = ('one.txt','../two.doc');
$count = $touch_obj->touch(@file_list);
DESCRIPTION¶
Here's a list of arguments that can be used with the object-oriented
contruction:
- atime_only => [0|1]
- If nonzero, change only the access time of files. Default is zero.
- mtime_only => [0|1]
- If nonzero, change only the modification time of files. Default is
zero.
- no_create => [0|1]
- If nonzero, do not create new files. Default is zero.
- reference => $reference_file
- If defined, use timestamps from this file instead of current time. Default
is undefined.
- time => $time
- If defined, then this value will be used for both access time and
modification time, whichever of those are set. This time is overridden by
the "atime" and "mtime" arguments, if you use
them.
- atime => $time
- If defined, use this time (in epoch seconds) instead of current time for
access time.
- mtime => $time
- If defined, use this time (in epoch seconds) instead of current time for
modification time.
Examples¶
Update access and modification times, creating nonexistent files¶
use File::Touch;
my @files = ('one','two','three');
my $count = touch(@files);
print "$count files updated\n";
Set access time forward, leave modification time unchanged¶
use File::Touch;
my @files = ('one','two','three');
my $day = 24*60*60;
my $time = time() + 30 * $day;
my $ref = File::Touch->new( atime_only => 1, time => $time );
my $count = $ref->touch(@files);
print "$count files updated\n";
Set modification time back, update access time, do not create nonexistent files¶
use File::Touch;
my @files = ('one','two','three');
my $day = 24*60*60;
my $time = time() - 30 * $day;
my $ref = File::Touch->new( mtime => $time, no_create => 1 );
my $count = $ref->touch(@files);
print "$count files updated\n";
AUTHOR¶
Nigel Wetters Gourlay (nwetters@cpan.org)
COPYRIGHT¶
Copyright (c) 2001,2007,2009 Nigel Wetters Gourlay. All Rights Reserved. This
module is free software. It may be used, redistributed and/or modified under
the same terms as Perl itself.