Rules


examples/regex2/rules.p6
use v6;

# Let's see something else
my $apache = qq{127.0.0.1 - - [10/Apr/2007:10:39:11 +0300] "GET / HTTP/1.1" 500 606 "-" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.3) Gecko/20061201 Firefox/2.0.0.3 (Ubuntu-feisty)"};

my regex ip   { \d+\.\d+\.\d+\.\d+ }
my regex date { \[ .*? \] }

if $apache ~~ m/ <&ip> \s+ \- \s+ \- \s+ <&date> \s+ \"GET / {
	say "Apache: $/";
}


# use the :sigspace modifier or in short :s

if $apache ~~ m/:s <&ip> \- \- <&date> \"GET / {
	say "Apache: $/";
}

my regex apache { :s <&ip> \- \- <&date> \"GET }
if $apache ~~ m/ <&apache> / {
	say "Apache regex: $/";
}

my rule apache_rulez { <&ip> \- \- <&date> \"GET }
if $apache ~~ m/ <&apache_rulez> / {
	say "Apache rule: $/";
}

Copyright 2006, 2007, 2008, 2009, 2010 Gabor Szabo http://szabgab.com/ Index | TOC
If you are interested in on-site trainings by the author, please contact me directly.

Online courses:

Would you like to get
updated when I publish
the next article?

Follow me:

Google Plus Twitter RSS feed