use Image::Magick; ... # Check and change image height if necessary my ($height,$width); ($height,$width) = $image->GetAttribute('height','width'); if ( $height > 300 ) { my ($newheight,$newwidth); $newheight = 300; $newwidth = ($width*$newheight)/$height; $image->Scale('height'=>$newheight,'width'=>$newwidth); } # Check and change image width if necessary ($height,$width) = $image->GetAttribute('height','width'); if ( $width > 250 ) { my ($newheight,$newwidth); $newwidth = 250; $newheight = ($height*$newwidth)/$width; $image->Scale('width'=>$newwidth,'height'=>$newheight); }