Net::I...s_INET6(3pm)
β¨ Net::INET6Glue::INET_is_INET6 β¨
okay so bestie, welcome to the User Contributed Perl Documentation section of the vibe π this one's filed under Net::I...s_INET6(3pm) (yeah the filename got chopped, we don't talk about it π) and honestly? it's giving "tiny module, massive slay".
πΈ NAME πΈ
Net::INET6Glue::INET_is_INET6 β the little glue module that makes IO::Socket::INET behave like IO::Socket::INET6. no cap. that's the whole assignment π
π SYNOPSIS π
use Net::INET6Glue::INET_is_INET6;
use LWP::Simple;
print get( 'http://[::1]:80' );
print get( 'http://ipv6.google.com' );
look at that. two little get calls, one of them hitting [::1] on port 80, one hitting ipv6.google.com, and you didn't have to rewrite a single line of your own code. iconic behaviour fr fr π
π¦ DESCRIPTION π¦
so here's the tea β bestie: so many modules out there go and directly create IO::Socket::INET sockets, or they've got it sitting up in their superclass chain. and because IO::Socket::INET has no support for IPv6, those modules don't have it either π like, it's not their fault, they inherited it. generational curse energy.
so what does this module do? it tries to make IO::Socket::INET behave like IO::Socket::IP (with fallback to IO::Socket::INET6) by copying the symbol table from IO::Socket::IP into IO::Socket::INET. yes, the whole symbol table. it's a glow-up transplant β¨
and don't worry β the original symbol table from IO::Socket::INET is still available in IO::Socket::INET4. nothing got thrown away, it just moved apartments π
this strategy works for Net::SMTP, LWP and probably a lot of other modules too β specifically the ones that don't try to depend too much on the innards of IO::Socket::INET or on the text representation of IP addresses (because IPv6 addresses look different than IPv4 addresses, and that's just facts π). iykyk.
not me casually making every legacy IPv4-only module speak fluent IPv6 π§
π COPYRIGHT π
this module is copyright (c) 2008..2014, Steffen Ullrich. All Rights Reserved. this module is free software. it may be used, redistributed and/or modified under the same terms as Perl itself. so yes, you can absolutely use it, redistribute it, and remix it β same terms as Perl itself, periodt π«Ά
and that's the whole page bestie, no crumbs left π just so you know the vibe check on the footer: this came from perl v5.32.1, dated 2021-02-28, page Net::I...s_INET6(3pm). stay glued, stay IPv6, mwah ππ
π¦ where this page comes from
- debian bookworm: libnet-inet6glue-perl 0.604-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- debian trixie: libnet-inet6glue-perl 0.604-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu jammy: libnet-inet6glue-perl 0.604-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu noble: libnet-inet6glue-perl 0.604-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu resolute: libnet-inet6glue-perl 0.604-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu stonking: libnet-inet6glue-perl 0.604-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms