for my $nic (networkInfo()) { if ($nic->{device}) { print "DeviceMain: $nic->{device} has IP Address $nic->{ip}\n" . "\tMask: $nic->{mask}\n" . "\tBroadcast: $nic->{bcast}\n"; print "DeviceMain: $nic->{device} also IPv6 address $nic->{ip6}\n"; } } #### Are you sure you would like to delete all *.bak files that exist in: /dir/etc-test [yes/no] yes No files were found >>> Oper Sys: linux >>> Platform: RedHat >>> Hostname: host1 Device: eth0 also has IPv6 address of xxxx::219:x9xx:xxxx:8091/64 Device: eth1 has the IP Address of xx.xx.xx.xx Mask: xx.xx.xx.xx Broadcast: xx.xx.xx.xx Device: eth1 also has IPv6 address of xxxx:80x0:22x:225:219:xxxx:xxxx:808x/64 Use of uninitialized value in concatenation (.) or string at ./sec-test.pl line 20 (#1) (W uninitialized) An undefined value was used as if it were already defined. It was interpreted as a "" or a 0, but maybe it was a mistake. To suppress this warning assign a defined value to your variables. To help you figure out what was undefined, perl tells you what operation you used the undefined value in. Note, however, that perl optimizes your program and the operation displayed in the warning may not necessarily appear literally in your program. For example, "that $foo" is usually optimized into "that " . $foo, and the warning will refer to the concatenation (.) operator, even though there is no . in your program. DeviceMain: eth0 has IP Address Mask: Broadcast: DeviceMain: eth0 also IPv6 address xxxx::219:x9xx:feeb:8091/64 DeviceMain: eth1 has IP Address xx.xx.xx.xx Mask: xx.xx.xx.xx Broadcast: xx.xx.xx.xx DeviceMain: eth1 also IPv6 address xxxx:xxc0:22x:225:219:x9xx:xxxx:808x/64