Question 3: Behind the scenes 

use Lingua::EN::Numbers qw(num2en);

# make a work dir

system "rm -rf work; mkdir work";
chdir("work");

# base64 code original image

system "base64 < ../we-like-the-moon.png > data.b64";

# split file into files of n lines

system "split --lines=65 data.b64 part-";

# convert each part to pdf with enscript
# write out to filenames with 'one', 'two', 'three' etc

mkdir("pages");
my $i = 1;
for my $input_file (glob("part-??")) {
    my $output_file = "pages/page-" . num2en($i) . ".pdf";
    system "cat $input_file | enscript -o - --margins=60:60:60:60"
         . " | ps2pdf12 - > $output_file";
    $i++;
}

# collect pdf files into a zip file

system "zip pages.zip pages/*pdf";

# hex dump the zip file using xxd

system "xxd pages.zip > data.xxd";

# gzip the hex dump output

system "gzip data.xxd";

# uuencode the gzipped hex dump

system "uuencode data.xxd.gz mmmmm-tasty-tasty-data > 03-mooooon";