use strict; use warnings; use autodie; open my $pids, '<', 'pids'; my %ids; while (my $line = <$pids>) { chomp $line; my (undef, $id) = split /\|/, $line; $ids{$id} = 1; } close $pids; open my $fids, '<', 'fids'; while (my $line = <$fids>) { my ($id, $rest) = split /;/, $line, 2; if ($ids{$id}) { print "Found id '$id' in line $line"; } } close $fids;