MarcAllan has asked for the wisdom of the Perl Monks concerning the following question:
Monks
Can someone help me with this perl pattern match, I am a newbie and write very little perl. I have a $out placeholder which could hold the following values in its
HostName: LAP3220889 TaskName: infiniteloop Next Run Time: Never Status: Last Run Time: 21:45:18, 22/06/2011 Last Result: 0 or 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 <code/> <p> I need to match taskname which is picked up from an existing variable +value, then I need to match Status: and its value (either "Running" o +r ""), then I need to match Last Result with its value. So out the d +ata I need to match the following (for example) </p> <code> TaskName: infiniteloop Status: Running Last Result: 0
This is my current code
if($out =~ m/TaskName:\s+$task.*?Status:\s+(.*?)\sLast Run Time:\s+(.* +?)\sLast Result:\s+(\d)/s) { chomp($status = $1); $result = $3;
which matches but I have to add \sLast Run Time:\s+(.*?) so it picks up Status value correctly My pattern should be
if($out =~ m/TaskName:\s+$task.*?Status:\s+(.*?)\sLast Result:\s+(\d)/ +s) { chomp($status = $1); $result = $2;
Im struggling with the match on Status, in a data dump this picks up
$VAR1 = 'infiniteloop'; $VAR2 = 'Running Last Run Time: 21:28:57, 23/06/2011'; $VAR3 = '0';
As you can see the status pattern match slurps all the data until it matches the start of "Last Result:" string from the data in $out This is probably very simple, I need a pattern to terminate at the end of status (VAR2) line and jump forward to match Last Result. Can anyone help?
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: regex pattern match
by wind (Priest) on Jun 23, 2011 at 21:33 UTC | |
by MarcAllan (Novice) on Jun 24, 2011 at 07:39 UTC | |
by Marshall (Canon) on Jun 24, 2011 at 18:55 UTC | |
by MarcAllan (Novice) on Jun 25, 2011 at 10:56 UTC | |
by MarcAllan (Novice) on Jun 27, 2011 at 08:50 UTC | |
|
Re: regex pattern match
by ack (Deacon) on Jun 24, 2011 at 16:12 UTC |