| Server IP : 77.68.64.21 / Your IP : 216.73.216.219 Web Server : Apache System : Linux hp3-wp-1011378.hostingp3.local 3.10.0-1160.144.1.el7.tuxcare.els9.x86_64 #1 SMP Fri Jul 10 17:06:31 UTC 2026 x86_64 User : csh2668128 ( 2112425) PHP Version : 8.1.34 Disable Function : shell_exec,exec,system,popen,set_time_limit MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/doc/perl-Archive-Zip-1.30/examples/ |
Upload File : |
#!/usr/bin/perl -w
# Requires the following to be installed:
# File::Path
# File::Spec
# IO::Scalar, ... from the IO-stringy distribution
# MIME::Base64
# MIME::QuotedPrint
# Net::SMTP
# Mail::Internet, ... from the MailTools distribution.
# MIME::Tools
use strict;
use Archive::Zip qw(:CONSTANTS :ERROR_CODES);
use IO::Scalar;
use MIME::Entity; # part of MIME::Tools package
my $zipContents = '';
my $SH = IO::Scalar->new( \$zipContents );
my $zip = Archive::Zip->new();
my $member;
# add a string as a member:
my $stringMember = '<html><head></head><body><h1>Testing</h1></body></html>';
$member = $zip->addString($stringMember, 'whatever.html');
# $member->desiredCompressionMethod(COMPRESSION_STORED);
# write it to the scalar
my $status = $zip->writeToFileHandle($SH);
$SH->close;
print STDERR "zip is ". length($zipContents). " bytes long\n";
### Create an entity:
my $top = MIME::Entity->build(
Type => 'multipart/mixed',
From => 'ned@bike-nomad.com',
To => 'billnevin@tricom.net',
Subject => "Your zip",
);
# attach the message
$top->attach(
Encoding => '7bit',
Data => "here is the zip you ordered\n"
);
# attach the zip
$top->attach(
Data => \$zipContents,
Type => "application/x-zip",
Encoding => "base64",
Disposition => 'attachment',
Filename => 'your.zip'
);
# attach this code
$top->attach(
Encoding => '8bit',
Type => 'text/plain',
Path => $0,
# Data => 'whatever',
Disposition => 'inline'
);
# and print it out to stdout
$top->print( \*STDOUT );