Sample code for 30+ languages & platforms
Perl

Iterate Email Headers

Demonstrates how to iterate over the email header fields.

Chilkat Perl Downloads

Perl
use chilkat();

$success = 0;

$email = chilkat::CkEmail->new();

# First, load an email from a file. 
# Note: an email object may be loaded from a file, or
# downloaded directly from a POP3 or IMAP server...

$success = $email->LoadEml("testReceivedHdrs.eml");
if ($success != 1) {
    print $email->lastErrorText() . "\r\n";
    exit;
}

# How many header fields?

$n = $email->get_NumHeaderFields();
if ($n > 0) {

    # Display the name and value of each header:

    for ($i = 0; $i <= $n - 1; $i++) {
        $name = $email->getHeaderFieldName($i);
        $value = $email->getHeaderFieldValue($i);
        print $i . "\r\n";
        print $name . "\r\n";
        print $value . "\r\n";

    }

}