#!/usr/bin/perl use Net::FTP; use Archive::Zip qw( :ERROR_CODES :CONSTANTS ); $zip = Archive::Zip->new(); $member = $zip->addFile('some_file.txt'); $member = $zip->addFile('some_file2.txt'); $member = $zip->addFile('some_file3.txt'); die 'write error' if $zip->writeToFileNamed('some_zip_file.zip') != AZ_OK; $ftp = Net::FTP->new("some_ip"); $ftp->login('user', 'pass'); $ftp->type("I"); # zip file is a binary file. $ftp->put('some_zip_file.zip'); $ftp->quit();