use strict; use warnings; my @array = ( "file1:aa" , "file2:bb" , "file3:cc" ); my( @found ) = grep { $array[$_] =~ m/aa/ } 0 .. $#array; print "Matched in $array[$_]\n" foreach @found;