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.