in reply to An extra content-type header

If you can't find what's printing or can't change what it prints, you can try to get it to print somewhere else. If it prints to the selected filehandle, just opening some other filehandle and selecting it would do the trick. For example, to discard output:
open(NULL,"> /dev/null") or die "Couldn't open /dev/null: $!\n"; my $oldsel = select(NULL); # Do validation select($oldsel);

Similarly, you could use IO::String to get the output into a string, where you could process it however you wanted.

If it's printing to STDOUT instead of the selected filehandle, you'd have to re-assign the STDOUT filehandle to elsewhere:

open(SAVE,">&STDOUT") or die "Couldn't save STDOUT: $!\n"; open(NULL,"> /dev/null") or die "Couldn't open /dev/null: $!\n"; open(STDOUT,">&NULL") or die "Couldn't dup NULL to STDOUT: $!\n"; # Do validation open(STDOUT,">&SAVE") or die "Couldn't restore STDOUT: $!\n";