use strict; use warnings; my @wanted = qw{7723 7725 9908 7765 7874}; my $rxExtract; { local $" = q{|}; $rxExtract = qr{\b@wanted\b}; } print map { $_->[0] } grep { $_->[2] =~ $rxExtract } map { [ $_, split ] } ; __END__ 77876 8543 CA84985 54E 77873 8003 CA84985 54E 77875 7725 CA84985 54E 77872 8511 CA84985 54E 77873 8123 CA84985 54E 77822 9908 CA84985 54E 77819 8503 CA84985 54E 77826 8040 CA84985 54E 77822 7874 CA84985 54E 77884 8543 CA84985 54E 77809 7211 CA84985 54E #### 77875 7725 CA84985 54E 77822 9908 CA84985 54E 77822 7874 CA84985 54E