in reply to zip at shell not working

Don't use back ticks to shell out and execute something unless you really want what it returns to stdout.
Use system instead.
my $rc = system("zip -r folder/subfolder archiveName"); if ($rc != 0) { # see error message in $! }
for more info on the system function execute the following at the command prompt
perldoc -f system