in reply to Help with Multiple line RegEx
If your file is too big for slurping, you can set $/="*\n", so that you read mutiple lines each time.
#! c:/perl/bin/perl.exe # # $|++; AUTOLOAD; use strict; use warnings 'all'; my $Rec; $/ = "*\n"; ## Define the record separator to the end of the multiple +line record while (<DATA>) { chomp; next if ($_ eq ""); $Rec->{$1} = $2 if ($_=~ /-+\s+show (switchname)\s+-+\n(\w+)\n\*+/m +g); print "$1 $2\n"; } close DATA;
Note. You were missing an \n between (w+) and \*+. and as coded, $1 will always be 'switchname' and so the values will always overlay each other. I'm not sure what you were looking to do here?
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Help with Multiple line RegEx
by blackadder (Hermit) on Oct 10, 2005 at 11:28 UTC |