use autodie qw(open close); open my $fip, '<', 'file-1'; open my $fop, '<', 'file-2'; LINE1: while (my $line1 = <$fip>) { my @token = split(/-/, $line1, 2); while (my $line2 = <$fop>) { chomp $line2; if ($token[0] == $line2) { print $line1; next LINE1; } } } close $fip; close $fop;