$zfile = $pathtofile; $zip = Archive::Zip->new(); my $zipped; #Chopped log files and Zipped files will be created in the directories below: my $zip_file = $path_only."/".$file_name.".zip"; $zipped = $zip->addFile($zfile); $zipped->desiredCompressionMethod( COMPRESSION_DEFLATED ); find(\&zip_file, $dir); die 'write error' unless $zip->writeToFileNamed( $zip_file ) == AZ_OK; sub zip_file { my $zipped = $zip->addFile( $File::Find::name ); if ($File::Find::name =~ m/\.txt$/i){ my $zipped = $zip->addFile( $File::Find::name ); }