while ( ) { print "$_ \n"; if ( $_ =~ /(\*PASS\*)\s$/ ) { print "\n \$1 is: $1 \n"; } else { print "Not found\n"; } } __DATA__ 2005-11-04/08:02:14.011 METRIC 00020036-0800093A log :Monitor: CALLER Status *PASS* 2005-11-04/08:09:34.712 METRIC 0A475-11B Log :monitor: CALLER Status *FAIL* 2005-11-04/08:11:30.924 METRIC 00020036-08000940 log :Monitor: CALLER Status *PASS* 2005-11-04/08:12:29.830 METRIC 00020036-08000941 log :Monitor: CALLER Status *PASS* 2005-11-04/09:12:28.790 METRIC 00020036-08000943 log :Monitor: CALLER Status *PASS* 2005-11-04/09:12:35.869 METRIC 00020036-08000944 log :Monitor: CALLER Status *PASS*