@data = ; @extracted = (); foreach(@data){ while ($_ =~ s/(foo\d+)//) { push @extracted, $1; } } print join( ':', @extracted ), "\n" ; __DATA__ foo1 foo2 foo3 foo4 foo5 foo6 foo7 foo8 foo9