while () { if (/(PURCHASED ON|SOLD ON|SETTLEMENT ON)/) { $desc = $_; if ($desc =~ /SETTLEMENT\s+ON\s+(\S+)/) { $sdate = $1; } if ($desc =~ /(?:PURCHASED|SOLD)\s+ON\s+(\S+)/) { $tdate = $1; } print "TDATE $tdate SDATE $sdate\n"; } } __DATA__ CLASS A SOLD ON 17/11/10 FOR SETTLEMENT ON 22/11/10 @ 145.59993 #### TDATE 17/11/10 SDATE 22/11/10