NAME
File::Touch - update access and modification timestamps, creating nonexistent files where necessary.
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.
- 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 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.