#!/usr/bin/env perl
use strict;
use warnings;
use POSIX qw (strftime);
use Path::Iterator::Rule;
use Image::ExifTool;
my $dir = q(./pdf);
my $tz = strftime( "%z", localtime() );
# my $tz = strftime( "%z", gmtime() );
$tz =~ s/(\d{2})$/':$1'/;
my $rule = Path::Iterator::Rule->new;
# $rule->file('*.pdf'); # :-(
$rule->file->name(qr/.+\.pdf/);
$rule->max_depth(1);
my $next = $rule->iter($dir);
while ( defined( my $file = $next->() ) ) {
my $mtime = ( stat($file) )[9];
my $atime = ( stat($file) )[8];
my ( $m_sec, $m_min, $m_hour, $m_day, $m_month, $m_year ) =
( localtime($mtime) )[ 0, 1, 2, 3, 4, 5 ];
# ( gmtime($mtime) )[ 0, 1, 2, 3, 4, 5 ];
$m_year += 1900;
my $m_timestamp = sprintf( "%4d:%02d:%02d %02d:%02d:%02d",
$m_year, $m_month, $m_day, $m_hour, $m_min, $m_sec );
$m_timestamp .= $tz;
my $exifTool = Image::ExifTool->new();
$exifTool->SetNewValue( "ModifyDate", $m_timestamp );
$exifTool->SetNewValue( "CreateDate", $m_timestamp );
$exifTool->WriteInfo($file);
utime $atime, $mtime, $file;
}
__END__
####
karls-mac-mini:monks karl$ perl -MImage::ExifTool=:Public -E 'say ImageInfo("./pdf/a.pdf")->{CreateDate};'
2015:01:07 14:46:51
karls-mac-mini:monks karl$ ls -hl ./pdf/a.pdf
-rw-r--r-- 1 karl karl 48K 7 Feb 14:46 ./pdf/a.pdf
####
#!/usr/bin/env perl
use strict;
use warnings;
use POSIX qw (strftime);
use Path::Iterator::Rule;
use Image::ExifTool;
my $dir = q(./pdf);
my $rule = Path::Iterator::Rule->new;
# $rule->file('*.pdf'); # :-(
$rule->file->name(qr/.+\.pdf/);
$rule->max_depth(1);
my $next = $rule->iter($dir);
while ( defined( my $file = $next->() ) ) {
my $mtime = ( stat($file) )[9];
my $atime = ( stat($file) )[8];
my $m_timestamp = strftime( "%Y:%m:%d %H:%M:%S%z", localtime($mtime) );
my $exifTool = Image::ExifTool->new();
$exifTool->SetNewValue( "ModifyDate", $m_timestamp );
$exifTool->SetNewValue( "CreateDate", $m_timestamp );
$exifTool->WriteInfo($file);
utime $atime, $mtime, $file;
}
__END__