А если так?
my $doutput = '';
open DOUTPUT, '>', \$doutput or die "Can't open DOUTPUT: $!";
print DOUTPUT "$convert -background white -flatten -size ${width}x${height} -geometry ${width}x${height}! -quality $quality $magickname $thumbnail";
close DOUTPUT;
make_error($doutput);
Здесь мы открываем новый поток в переменную, которую ты потом можешь сдампить своим любимым методом.