While I've already done this with a simple shell script using grep, I was trying to figure out how I can do the same thing in perl.
I have an access_log from my apache web server and while I can manually enter a date for my pattern match (which works fine), I can't seem to get it automated properly. I suspect the $date variable may be passing `date +%d/%b` instead of 26/Dec to the pattern matching if statement.
FYI... when I run the program I pass the name of the file I want parsed ( example: code.pl access_log )
Any thoughts on my mistake?
Thx
---------------------
Script I'm using.
#!/usr/bin/perl
$date=`date +%d/%b`;
You could use perl's date functions for this.
print "\n"; print "Current search pattern is $date"; print "\nStarting parse routine...\n\n"; while (<>) { if (m|$date|) {
Any time you get a string you want to match from an external source, you should probably quote it:
if (m|\Q$date\U|) {
print $_; } else { # print "No match.\n"; } }
-- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>