So Lässt sich testen, welche Protokollfamilie benutzt wird.
my $sock = IO::Socket::IP->new(
PeerHost => $domain,
PeerPort => $peerport,
Type => SOCK_STREAM,
) or die "Cannot construct socket - $IO::Socket::errstr";
my $familyname = ( $sock->sockdomain == PF_INET6 ) ? "IPv6" :
( $sock->sockdomain == PF_INET ) ? "IPv4" :
"unknown";
printf "Connected to %s via %s\n", $domain, $familyname;
Bei mit IPv6 nicht erreichbarem Socket kommt bei mir von IO::Socket::IP bzw. $IO::Socket geworfen: "Cannot construct socket - Bad address at a.pl line …." (also hier im Beispiel-Schnippsel Zeile 5)
Bei unproblematischer kommt "Connected to labs.gwendragon.de via IPv6".
Last edited: 2024-06-29 17:37:11 +0200 (CEST)