@data = ; my @extracted = grep { /foo\d+/ } map { split } @data ; print join( ':', @extracted ), "\n" ; __DATA__ foo1 foo2 foo3 foo4 foo5 zoot6 foo6 foo7 foo8 bar1 foo9