Hum, I've never tried something exactly like this, but maybe you should take a look at the Convert::UU module to uuencode and uudecode the binary zipped file.
But there may be some mail modules taking care of that for you.
Comment on Re: MIME::Tools to save attachment properly