The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!/usr/bin/perl -w

=head1 NAME

mimetour - tour the possible encodings

=head1 SYNOPSIS

    mimetour
        Just run it.

=head1 DESCRIPTION

Parse a message into core, and output it in all supported encodings.

=head1 AUTHOR

Eryq, eryq@zeegee.com

=cut

use strict;
use lib "./lib";
use MIME::Parser;

# The message:
my $msg = <<EOF;
Content-type: text/html
Content-transfer-encoding: 7bit
Content-disposition: inline; filename="hello.html"

<P ALIGN=CENTER>
Hello world!
</P>

EOF

# Parse:
my $parser = new MIME::Parser;
$parser->output_to_core('ALL');
my $entity = $parser->parse_data($msg);

# Tour:
my $enc;
foreach $enc (sort (keys %{supported MIME::Decoder})) { 
    print '-'x60, "\n";
    $entity->head->replace('Content-transfer-encoding', $enc);
    $entity->print(\*STDOUT);
    print '-'x60, "\n\n";
}

1;