$c='[\d\-\.pqxy]'; #regexp (@chroms)=($text=~/\s$c*?\s/sig); #extract all for ($i=0; $i<@chroms; $i++) { splice(@chroms, $i, 1) if (!($chroms[$i]=~/[pqxy]/i)); } #eliminate pure numbers print "$_\n" foreach (@chroms);