#!/usr/bin/perl use Socket (); use Socket6 (); use strict; my $address = '2001:470:1f0e:b4a::2'; socket( TEST, Socket::PF_INET, Socket::SOCK_STREAM, getprotobyname('tcp') ); if( !bind( TEST, Socket6::pack_sockaddr_in6( 0, Socket6::inet_pton( Socket::AF_INET6, $address ) ) ) ) { print "No bind\n"; } my ( $local_port, $local_ip ) = Socket::sockaddr_in( getsockname( TEST ) ); if( $local_ip != Socket6::inet_pton( Socket::AF_INET6, $address ) ) { print "No match\n"; } else { print "Local ip is ".length( $local_ip )." long\n"; print "Expected ip is ".length( Socket6::inet_pton( Socket::AF_INET6, $address ) )."\n"; } close( TEST );