use Imager; use Imager::Filter::Autocrop; my $imgdata = undef; open(IN, '<', 'example.jpg'); binmode(IN); { local $/ = undef; $imgdata = } close(IN); my $img = Imager->new(); $img->register_reader( type => 'scalar', single => sub { my ($im, $io, %hsh) = @_; $im->{IMG} = $io; return $im }, ) or die "register_reader: ".$img->errstr(); $img->read(type=>'scalar', file=>$imgdata) or die "read: ".$img->errstr(); $img->autocrop(fuzz=>20) or die "autocrop: ".$img->errstr(); $img->write(file=>'out.jpg') or die "writing: ".$img->errstr();