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?In reply to Problem named capture buffers by dirtdart
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |