in reply to Passing variables into regular expressions
Your code doesn't make a great deal of sense to me. In particular I can't see why you are interpolating $HN into the regex. However the following sample does what you ask and should serve as a starting point for you to ask what you really want to know:
use strict; use warnings; while (<DATA>) { next if ! /^((?:\d{1,3}\.){3}\d{1,3})\s+(\S*)/; print "$1\n"; print "$2\n"; } __DATA__ 0.0.0.22 fred localhost 0.0.63.23 fred-test-0 1.0.128.24 fred-test-1
Prints:
0.0.0.22 fred 0.0.63.23 fred-test-0 1.0.128.24 fred-test-1
Note the use of \d{1,3} to match 1 to 3 digits and \s and \S to match white space and anything else respectively.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Passing variables into regular expressions
by Anonymous Monk on Apr 20, 2006 at 10:06 UTC | |
by GrandFather (Saint) on Apr 20, 2006 at 10:12 UTC | |
by Herkum (Parson) on Apr 20, 2006 at 12:48 UTC |