use Archive::Zip qw( :ERROR_CODES :CONSTANTS ); $namein = "$path\\$name"; $nameout = "$pathout\\AFJPWEB6_$anio$mes$dia\.zip"; print "Comprimiendo ", $namein,"\n"; my $zip = Archive::Zip->new() ; my $member = $zip->addFile( $namein ); my $status = $zip->writeToFileNamed( $nameout ); die "error somewhere" if $status != AZ_OK;