$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); #### Xq27-q28 q11q12 22q121 1q422q43 19q 17p11 1q25 13q123 11p112 1q25 1q2331 8p22 8p22 7q1123 7p22 19q12q1311 52 15 19q12q1311