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
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|