The secret is in capturing the value between the parentheses. Your message always has the same basic string "Time for all triggers in report period (?s)". You can capture the value you want by putting parentheses in your regular expression around those values. Since your value is digits, use \d+. The '+' quantifier matches 1 or more of the previous character (in this case \d, or a digit). So, it will match one or more digits.
Remember to escape any parentheses that are in in the string you are searching. For example: $msg =~ /report period \((\d+)/
When you do this, the value is store in a built-in variable ${1} for the first set of parentheses, ${2} for the second set, etc.
For example:
my @msgs = ("Thu Oct 18 21:26:36 2007: Time for all triggers in rep
+ort period (300s): 1.330981s",
"Thu Oct 18 21:27:36 2007: Time for all triggers in r
+eport period (600s): 1.457271s",
"Thu Oct 18 21:28:36 2007: Time for all triggers in r
+eport period (60s): 1.340150s");
for my $msg (@msgs) {
if ($msg =~ /Time for all triggers in report period \((\d+)s\)/) {
my $time = ${1};
# Insert your logic here...
if ( $time >= 600) { print "Time ($time) >= 600\n"; }
elsif($time >= 300) { print "Time ($time) >= 300\n"; }
elsif($time >= 60 ) { print "Time ($time) >= 60\n"; }
else { print "Time ($time) < 60\n"; }
}
}
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.