use strict; use CGI qw/ :all /; use Image::Info; use GD; | | much handwaving for parts that already work fine. | my $imgStream; if ( $type eq 'PNG' ) { $imgStream = GD::Image->newFromPng($image); } else { $imgStream = GD::Image->newFromJpeg($image); } exec $0 if not $imgStream; print header(-type=>$mime); my $png_data = $imgStream->png; binmode STDOUT; print $png_data; close STDOUT; exit(0);