in reply to Trying to cleanly re-export another Module's export constants

In my version (Socket6 is 0.22 and Socket is 1.82) when I try your code I get:
"AF_INET6" is not exported by the Socket6 module
Inspecting the code somewhat I see in Socket6.pm:
push @EXPORT, qw(AF_INET6) unless defined eval {Socket::AF_INET6()};
and indeed the version of Socket.pm I have does export AF_INET6. Changing your code a little works for me:
use warnings; use strict; use Socket qw(AF_INET6 AF_INET inet_aton inet_ntoa); use Socket6 qw(inet_pton inet_ntop); BEGIN { require Exporter; require DynaLoader; our @ISA = qw(Exporter DynaLoader); our @EXPORT = qw(AF_INET AF_INET6); }
Maybe you need some sort of test in a BEGIN block to see if the user's Socket.pm exports AF_INET6.