k_grdn has asked for the wisdom of the Perl Monks concerning the following question:
Great Monks,
Hit a wall extracting data from a hash of arrays.
while(<>) { chomp; if ( /set\spolicy\sid\s(\d+)\s(from|name\s\"[^"]+\")?\sfrom/ ) { $ +id = $1; push ( @{ $id_policy{$id}}, $_ ); next; } push ( @{$id_policy{$id}}, $_ ) if $id } for my $id ( keys %id_policy ) { foreach (@{ $id_policy{$id} }) { if ( /set\spolicy\sid\s(\d+)\s(from|name\s\"[^"]+\"\sfrom)\s\" +Untrust\"\sto\s"DMZ/ ) { # ????????? } } }
input set policy id 155 from "Trust" to "Untrust" "**** Users" "Safe Boot S +ervers" "ANY" nat src permit set policy id 155 exit set policy id 150 from "DMZ" to "Untrust" "**** Zone1" "Postini" "SMT +P" nat src permit log set policy id 150 set src-address "**** Zone2" set src-address "***** Farm Servers" set src-address "**** Zones" set log session-init exit set policy id 154 from "Trust" to "DMZ" "*** - **** DB" "****" "Oracl +e - 1521" permit set policy id 154 exit set policy id 157 from "Untrust" to "Trust" "Postini" "MIP(194.82.*** +.***)" "SMTP" permit set policy id 157 exit set policy id 162 from "DMZ" to "Trust" "*****" "****_DEV Database se +rver" "HTTP" permit set policy id 162 exit set policy id 163 name "mail-relay.**** => OUTBOUND" from "Trust" to " +Untrust" "Mail-Relay" "Postini" "SMTP" nat src dip-id 5 permit set policy id 163 exit
I would like to output the entire array for the match Untrust to DMZ.
set policy id 148 from "Untrust" to "DMZ" "Any" "MIP(194.82.***.180)" + "HTTP" permit set policy id 148 application "HTTP" set policy id 148 exit
Thanks,
k_grdn
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Dereference Hash of Arrays
by halfcountplus (Hermit) on Oct 03, 2010 at 17:28 UTC | |
by k_grdn (Novice) on Oct 05, 2010 at 08:00 UTC |
Back to
Seekers of Perl Wisdom