#!/usr/bin/perl use strict; use warnings; open my FILE, '<', $ARGV[0] or die "Can't read $ARGV[0]: $!"; my %header; while () { chomp; # trim trailing newline my ($k, $v) = split(': ', $_, 2); $header{$k} = $v; } # now $header{To} eq 'san' &etc.