dirtdart has asked for the wisdom of the Perl Monks concerning the following question:
I have a small perl script that I am trying to use to monitor backups. As I have several customers with different backup systems, I am trying to use a regular expression to break out the month, day and year in the log file. Since I couldn't rely on what format the date would be in, I attempted to write the RE with named capture buffers. Here is the expression:
^Backup completed on (?<month>\d+)\/(?<day>\d+)\/(?<year>\d+).+?(?<hour>\d+):(?<minute>\d+)\s*(?<mark>AM|PM)This is the line it should match:
Backup completed on 11/11/2008 at 6:24 AM.This is the error I get instead:
Sequence (?<m...) not recognized in regex; marked by <-- HERE in m/^Backup completed on (?<m <-- HERE onth>\d+)\/(?<day>\d+)\/(?<year>\d+).+?(?<hour>\d+):(?<minute>\d+)\s*(?<mark>AM|PM)/ at check_backups.pl line 187. at check_backups.pl line 187 I'm sure I'm doing something stupid, but I just can't see it. Can anyone please help me out with this?
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Problem named capture buffers
by JadeNB (Chaplain) on Nov 11, 2008 at 19:29 UTC | |
|
Re: Problem named capture buffers
by ig (Vicar) on Nov 11, 2008 at 19:45 UTC | |
|
Re: Problem named capture buffers
by ccn (Vicar) on Nov 11, 2008 at 19:14 UTC | |
by dirtdart (Beadle) on Nov 11, 2008 at 19:29 UTC | |
|
Re: Problem named capture buffers
by gwadej (Chaplain) on Nov 11, 2008 at 19:12 UTC |