my @looking_for = qw(Subject From); my $re = join '|', map quotemeta, @looking_for; $re = qr{^($re):}; my %header; for (@header) { if ($_ =~ $re) { push @{$header{$1}}, $_; } } my $curFrom = $header{From}[0]