sub getHostIPv6() { my $hostName = Net::Domain::hostfqdn(); my $ip; my @rawIpData; print "Found $hostName\n"; if ($^O =~ m/Win/) { print "Running $^O - Win\n"; @rawIpData = `nslookup -q=AAAA $hostName`; } elsif ($^O =~ m/solaris/) { print "Running $^O - Solaris\n"; @rawIpData = `ifconfig -a`; } else { print "Running $^O - Unix\n"; # Pull out the matching ip @rawIpData = `host -avt AAAA $hostName`; } foreach my $line (@rawIpData) { if ($line =~ m/AAAA/ && $line =~ m/IPv6/) { $line =~ s/^.*IPv6\saddress\s=\s//; chomp($line); # Return IPv6 IP $ip = $line; } elsif ($line =~ m/inet6/) { $line =~ s/^\s+inet6\s+//; chomp($line); # Return IPv6 IP $ip = $line; } } if ($ip eq "") { print "Did not find an IPv6 address on the $^O machine\n"; exit(1); } print "Found IP-$ip.\n"; exit(1); }