my @requests = (); my %lookups = (); while () { if (/^# input/) { push @requests, (split)[1]; } elsif (/^\s\s\d+/) { my ($RES, $val) = (split)[2,4] $lookups{$RES} = $val; } } print join("\n", @lookups{@requests}), "\n";