while (){ if (/^.*?\_(.*?)(CI|I)SD\_.*?$/) {print $1,"\n"} } __DATA__ my_firstmachISD_blah_blah the_secondCISD_blah_blah_blah