2 scripts( really one )
First one is used to create the img you wish to be included into your script.
#!/usr/bin/perl
use warnings;
use strict;
use MIME::Base64;
my $image;
open(IMAGE, 'img.jpg') or die $!;
while(<IMAGE>){
$image .= $_;
}
close(IMAGE);
my $encoded = encode_base64($image);
print $encoded;
2nd is the code that reads the image and prints it from the script.
#!/usr/bin/perl
use warnings;
use strict;
use MIME::Base64;
my $image;
while (<DATA>){
$image .= $_;
}
print "Content-type: image/jpeg\n\n";
print decode_base64($img);
__END__
/9j/4AAQSkZJRgABAgEASABIAAD/7QtyUGhvdG9zaG9wIDMuMAA4QklNA+kA
SAAAAAADGAJB//f/9wNAAkogAgV7A+AAAAAAAWgBaAAAAAAPeAtFAWwAMgtF
Jw8AAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQBkAAAAAAAAAAACABCxBQAR
QklNA+0AAAAAABAASAAAAAEAAQBIAAAAAQABOEJJTQPzAAAAAAAIAAAAAAAA
AAEAADhCSU0nEAAAAAAACgABAAAAAAAAAAI4QklNA/UAAAAAAEgAL2ZmAAEA
L2ZmAAEAoZmaAAYAAAAAAAEAMgAAAAEAWgAAAAYAAAAAAAEANQAAAAEALQAA
A/gAAAAAAHAAAP////////////////////////////8D6AAAAAD/////////
////A+gAAAAA/////////////////////////////wPoAAAAAP//////////
//8D6AAAOEJJTQQIAAAAAAAQAAAAAQAAAkAAAAJAAAAAADhCSU0ECQAAAAAJ
OQAAAYAAAFWAAAAJYQAYAAH/2P/gABBKRklGAAECAQBIAEgAAP/+ACdGaWxl
QWRvYmUgUGhvdG9zaG9wqCA0LjAA/+4ADkFkb2JlAGSAAAAAAf/bAIQADAgI
FQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM
Dg4QFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwM
/8AAEQgAOQCAAwEiAAIRAQMRAf/dAAQACP/EAT8AAAEFAQEBAQEBAAAAAAAA
CwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUD
The gibberish is the encoded output you got from the first script. ( its not a pic so dont expect it to output anything of use to you ). This was posted on a newsgroup a few months back, can't remember who posted it but i've used it from time to time.
Documentation:
MIME::Base64
Have any problems let me know.
-bn