in reply to Image upload and conversion

GD would be the way to go, given "Image::Resize - Simple image resizer using GD". I'm currently using it for doing PNG->JPG conversion/sizing and the docs mention that GD supports WBMP (which I assume means "Windows .bmp"), although I wasn't able to quickly find a complete list of formats supported by GD.

Some sample code to help get you started:

binmode $img_fh; local $/; undef $/; my $img = GD::Image->new($img_fh) or die "Failed to read image file: + $!\n"; # ... my $fh; my $fullpath = "$path/$filename" . ($png_img ? '.png' : '.jpg'); open $fh, '>', $fullpath or die "Failed to write image file: $!\n"; binmode $fh; print $fh ($png_img ? $img->png : $img->jpeg); close $fh;