ZIP is not the same as gzip. If you want ZIP files, you should be using Archive::Zip:
use Archive::Zip qw( :ERROR_CODES :CONSTANTS );
my $zip = Archive::Zip->new();
my $member = $zip->addDirectory( 'dirname/' );
$member = $zip->addString( 'This is a test', 'stringMember.txt' );
$member = $zip->addFile( 'xyz.pl', 'AnotherName.pl' );
die 'error' unless $zip->writeToFileNamed('someZip.zip') == AZ_OK;
The FAQ is helpful as well.
The intelligent reader will judge for himself. Without examining the facts fully and fairly, there is no way of knowing whether vox populi is really vox dei, or merely vox asinorum. -- Cyrus H. Gordon