#!/usr/bin/perl use strict; use warnings; my @out = ( 'HostName: LAP3220889 TaskName: infiniteloop Next Run Time: Never Status: Last Run Time: 21:45:18, 22/06/2011 Last Result: 0 ' , '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 ' ,); my($key,$value)=('',0); foreach my $recNo(0..(scalar(@out)-1)){ print "\nRecord No. $recNo\n"; my @lines = split("\n",$out[$recNo]); foreach my $line (@lines){ next unless(($key) = ($line =~ /^(HostName|Status|Last\sResult)/)); $value = ''; ($value) = ($line =~ /:(.*)$/); $value =~ s/^\s*(\S*)\s*$/$1/; #strip off leading and trailing white space print " $key = '$value'\n"; } } exit(0); #### Record No. 0 HostName = 'LAP3220889' Status = '' Last Result = '0' Record No. 1 HostName = 'LAP3220889' Status = 'Running' Last Result = '0'