use strict; use warnings; my $out = do {local $/; }; my $task = 'infiniteloop'; my ($status, $result) = $out =~ m/TaskName:\s+$task.*?Status:\s+(.+?)\n.*?Last Result:\s+(\d)/s; print "status = $status\n"; # status = Running print "result = $result\n"; # result = 0 __DATA__ HostName: LAP3220889 TaskName: infiniteloop Next Run Time: 11:06:00, 23/06/2011 Status: Running Last Run Time: 10:10:04, 23/06/2011 Last Result: 0