... my $fh = upload('image'); if ( !$cover_image && cgi_error ) { print header(-status=>cgi_error); } my $image; while (<$fh>) { $image .=$_; } my $num = insert_image_db($dbh, $user, $type, $image_title, $image); ... #### #!/usr/bin/perl use strict; use warnings; use Image::Magick; my $image = Image::Magick->new; open (IMAGE, 'xyz.jpg'); $image->Read(file=>\*IMAGE); close(IMAGE); $image->Thumbnail(geometry=>'150x150'); $image->Write(filename=>'xyz2.jpg');