#!/usr/bin/perl
use strict;
use warnings;
my %host = (
'ip1' => {
'tcp' => {
'21' => {
'state' => 'open',
'service' => 'ftp',
},
'80' => {
'state' => 'open',
'service' => 'web',
}
}
},
'ip2' => {
'tcp' => {
'23' => {
'state' => 'open',
'service' => 'telnet',
},
'80' => {
'state' => 'open',
'service' => 'web',
}
}
}
);
foreach my $key (keys %host) {
print "$key\n";
foreach (keys %{ $host{$key}{tcp} } ) {
printf " %s %s %s\n",
$_,
$host{$key}{tcp}{$_}{state},
$host{$key}{tcp}{$_}{service};
}
}
Results in:
ip1
21 open ftp
80 open web
ip2
80 open web
23 open telnet
Jason L. Froebe
Team Sybase member
No one has seen what you have seen, and until that happens, we're all going to think that you're nuts. - Jack O'Neil, Stargate SG-1