You almost had it. Below example works for me. Set binmode to your outfit after you open the handle. Also, you don't need to print the content-type header unless you are printing to STDOUT (like through a browser).
use MP3::Tag;
my $mp3 = MP3::Tag->new("withimage.mp3") or die "no File";
# Get the tags from the MP3
$mp3->get_tags;
$id3v2 = $mp3->{ID3v2};
# Get the APIC frame from the Tag (The Image) which
# returns a hash ref
my $Pic = $id3v2->get_frame("APIC"); # returns
open (SAVE, ">out.jpg");
binmode SAVE;
print SAVE $Pic->{_Data};
close SAVE;