#!C:\Perl\bin\perl.exe -w use File::Find; use Archive::Zip qw( :ERROR_CODES :CONSTANTS); use Cwd; my $dir = cwd(); print "Zipping .tif, .tiff, and .eps files...\n$dir\n\n"; find(\&edits, $dir); sub edits() { my $filename = $_; if (-f and ( /\.tiff?$/ or /\.eps$/ )) { print "$File::Find::name\n"; my $barefile = $filename; substr( $barefile, rindex( $barefile, '.' ) ) = ''; if ($barefile ne '') { my $zip = Archive::Zip->new(); my $member = $zip->addFile($filename); if ($zip->writeToFileNamed("$barefile.zip") == AZ_OK) { unlink($File::Find::name) } else { die 'Error writing file'; } } } }