while(){ if(/^(BCG-\d+)/){$bcg = $1} # current BCG, maybe? if(/^( SNB\w+)/){$snb = $1} # current SNB, maybe? @stuff = split(/\s+/); # put lines into an array if ($stuff[3] eq 'BL-TRX'){ # if the BLT is found print "here's an interesting BCG:\n$bcg $snb @stuff\n"; # report that it has been found } } __DATA__ BCG-011 ULTRASITE U WO 1 BC011 WO 05823 00051 BTS-025 U WO 0 0 SNBXCASD005X RF 3 TRX-001 U WO 713 0 117 MBCCH P 4 TRX-002 U WO 729 0 117 0 05823 00052 BTS-026 U WO 0 0 SNBXCASD005Y RF 3 TRX-005 U WO 722 0 117 MBCCH P 3 TRX-006 U BL-TRX 731 0 117 8 05823 00053 BTS-027 U WO 0 1