sockaddr_in6#

Dual-mode IPv6 shortcut: with two or more arguments it behaves like pack_sockaddr_in6; with a single argument it behaves like unpack_sockaddr_in6.

תקציר#

my $sin6                          = sockaddr_in6($port, $addr);
my $sin6                          = sockaddr_in6($port, $addr, $scope, $flow);
my ($port, $addr, $scope, $flow)  = sockaddr_in6($sockaddr);

מה מוחזר#

The same values as the underlying pack_sockaddr_in6 or unpack_sockaddr_in6, depending on argument count.

דוגמאות#

my $sin6 = sockaddr_in6(443, inet_pton(AF_INET6, "::1"));
my ($port, $addr) = sockaddr_in6(getpeername($sock));

מקרי קצה#

  • The dispatch is on argument count - a single-element list still takes the unpack branch.

  • Prefer the explicit pack/unpack forms in new code.

הבדלים מן ה-upstream#

Fully compatible with upstream Socket.

ראו גם#

  • pack_sockaddr_in6, unpack_sockaddr_in6 - the explicit forms.

  • sockaddr_in - IPv4 counterpart.