[plug] code decipher
Simon Newton
newtons at iinet.net
Mon Feb 24 20:26:11 WST 2003
Its going to match the following:
128.61.44.92
128.61.44.31
r44h92.res.gatech.edu
r44h92.resagatechbedu # you probably don't want this
r44h31.res.gatech.edu
*.jehsom.com
adsl-20-72-\d+.asm.bellsouth.net # \d+ is one or more digits
I imagine its going to be used like so
# $ip holds what we're matching against
if ( $ip =~ /$myips/ ) {
# do something
}
within the braces, $1 will be the entire match, $2 will be 92 or 31 if
the address matched 128.31.44 and $3 will be 92 or 31 if it matched the
r44h addresses.
This would be better rewritten as
my $myips =
qr'^(128\.61\.44\.(92|31)|r44h(92|31)\.res\.gatech\.edu|.*\.jehsom\.com|adsl-20-72-\d+\.asm\.bellsouth\.net)$' ;
the qr operator returns a compiled regex instead of a string in the
previous example. Escaping the .'s in the gatech part fixes the forth
match above.
in which case you could use it as
if ( $ip =~ $myips ) {
# do something
}
Simon N
On Mon, 2003-02-24 at 20:11, Jon Miller wrote:
> Can anyone explain the what this statement does? I have a piece of code I'm trying to figure out what this piece handles.
>
> # A regex that will match any IPs you come from.
> my $myips =
> '^(128\.61\.44\.(92|31)|r44h(92|31)\.res.gatech.edu|.*\.jehsom\.com|adsl-20-72-\d+\.asm\.bellsouth\.net)$';
>
> I assume it is some form of input for ip addresses, and or domain name. But what I'ld like to know is what the parameters are.
>
> Thanks
>
> Jon L. Miller, MCNE, CNS
> Director/Sr Systems Consultant
> MMT Networks Pty Ltd
> http://www.mmtnetworks.com.au
>
> "I don't know the key to success, but the key to failure
> is trying to please everybody." -Bill Cosby
>
>
>
>
>
More information about the plug
mailing list