Subject: | IO::Socket::UNIX/INET double importation |
While I was playing around with POE, I enabled Exporter's verbosity ( $Exporter::Verbose = 1 }
And noticed that your IO::Socket::INET/UNIX module does a double importation of ALL the constants in Socket.pm
I investigated, and found out that lines 11 and 12 of IO::Socket::INET is:
use IO::Socket;
use Socket;
IO::Socket seems to be simply a wrapper around Socket, hence exporting Socket's symbols twice in the following excerpt:
Importing into IO::Socket from IO::Handle: at /usr/lib/perl/5.8.2/IO/Socket.pm line 11
Importing into Socket from Carp: carp, confess, croak at /usr/lib/perl/5.8.2/Socket.pm line 6
Importing into IO::Socket from Socket: AF_802, AF_AAL, AF_APPLETALK, AF_CCITT, AF_CHAOS, AF_CTF, AF_DATAKIT, AF_DECnet, AF_DLI, AF_ECMA, AF_GOSIP, AF_HYLINK, AF_IMPLINK, AF_INET, AF_INET6, AF_ISO, AF_KEY, AF_LAST, AF_LAT, AF_LINK, AF_MAX, AF_NBS, AF_NIT, AF_NS, AF_OSI, AF_OSINET, AF_PUP, AF_ROUTE, AF_SNA, AF_UNIX, AF_UNSPEC, AF_USER, AF_WAN, AF_X25, INADDR_ANY, INADDR_BROADCAST, INADDR_LOOPBACK, INADDR_NONE, IOV_MAX, MSG_BCAST, MSG_BTAG, MSG_CTLFLAGS, MSG_CTLIGNORE, MSG_CTRUNC, MSG_DONTROUTE, MSG_DONTWAIT, MSG_EOF, MSG_EOR, MSG_ERRQUEUE, MSG_ETAG, MSG_FIN, MSG_MAXIOVLEN, MSG_MCAST, MSG_NOSIGNAL, MSG_OOB, MSG_PEEK, MSG_PROXY, MSG_RST, MSG_SYN, MSG_TRUNC, MSG_URG, MSG_WAITALL, MSG_WIRE, PF_802, PF_AAL, PF_APPLETALK, PF_CCITT, PF_CHAOS, PF_CTF, PF_DATAKIT, PF_DECnet, PF_DLI, PF_ECMA, PF_GOSIP, PF_HYLINK, PF_IMPLINK, PF_INET, PF_INET6, PF_ISO, PF_KEY, PF_LAST, PF_LAT, PF_LINK, PF_MAX, PF_NBS, PF_NIT, PF_NS, PF_OSI, PF_OSINET, PF_PUP, PF_ROUTE, PF_SNA, PF_UNIX, PF_UNSPEC, PF_USER, PF_WAN, PF_X25, SCM_CONNECT, SCM_CREDENTIALS, SCM_CREDS, SCM_RIGHTS, SCM_TIMESTAMP, SHUT_RD, SHUT_RDWR, SHUT_WR, SOCK_DGRAM, SOCK_RAW, SOCK_RDM, SOCK_SEQPACKET, SOCK_STREAM, SOL_SOCKET, SOMAXCONN, SO_ACCEPTCONN, SO_ATTACH_FILTER, SO_BACKLOG, SO_BROADCAST, SO_CHAMELEON, SO_DEBUG, SO_DETACH_FILTER, SO_DGRAM_ERRIND, SO_DONTLINGER, SO_DONTROUTE, SO_ERROR, SO_FAMILY, SO_KEEPALIVE, SO_LINGER, SO_OOBINLINE, SO_PASSCRED, SO_PASSIFNAME, SO_PEERCRED, SO_PROTOCOL, SO_PROTOTYPE, SO_RCVBUF, SO_RCVLOWAT, SO_RCVTIMEO, SO_REUSEADDR, SO_REUSEPORT, SO_SECURITY_AUTHENTICATION, SO_SECURITY_ENCRYPTION_NETWORK, SO_SECURITY_ENCRYPTION_TRANSPORT, SO_SNDBUF, SO_SNDLOWAT, SO_SNDTIMEO, SO_STATE, SO_TYPE, SO_USELOOPBACK, SO_XOPEN, SO_XSE, UIO_MAXIOV, inet_aton, inet_ntoa, pack_sockaddr_in, pack_sockaddr_un, sockaddr_family, sockaddr_in, sockaddr_un, unpack_sockaddr_in, unpack_sockaddr_un at /usr/lib/perl/5.8.2/Socket.pm line 12
Importing into IO::Socket from Carp: carp, confess, croak at /usr/lib/perl/5.8.2/IO/Socket.pm line 13
Importing into IO::Socket from Exporter: at /usr/lib/perl/5.8.2/IO/Socket.pm line 16
Importing into IO::Socket from Errno: at /usr/lib/perl/5.8.2/Errno.pm line 17
Importing into IO::Socket::INET from Socket: AF_802, AF_AAL, AF_APPLETALK, AF_CCITT, AF_CHAOS, AF_CTF, AF_DATAKIT, AF_DECnet, AF_DLI, AF_ECMA, AF_GOSIP, AF_HYLINK, AF_IMPLINK, AF_INET, AF_INET6, AF_ISO, AF_KEY, AF_LAST, AF_LAT, AF_LINK, AF_MAX, AF_NBS, AF_NIT, AF_NS, AF_OSI, AF_OSINET, AF_PUP, AF_ROUTE, AF_SNA, AF_UNIX, AF_UNSPEC, AF_USER, AF_WAN, AF_X25, INADDR_ANY, INADDR_BROADCAST, INADDR_LOOPBACK, INADDR_NONE, IOV_MAX, MSG_BCAST, MSG_BTAG, MSG_CTLFLAGS, MSG_CTLIGNORE, MSG_CTRUNC, MSG_DONTROUTE, MSG_DONTWAIT, MSG_EOF, MSG_EOR, MSG_ERRQUEUE, MSG_ETAG, MSG_FIN, MSG_MAXIOVLEN, MSG_MCAST, MSG_NOSIGNAL, MSG_OOB, MSG_PEEK, MSG_PROXY, MSG_RST, MSG_SYN, MSG_TRUNC, MSG_URG, MSG_WAITALL, MSG_WIRE, PF_802, PF_AAL, PF_APPLETALK, PF_CCITT, PF_CHAOS, PF_CTF, PF_DATAKIT, PF_DECnet, PF_DLI, PF_ECMA, PF_GOSIP, PF_HYLINK, PF_IMPLINK, PF_INET, PF_INET6, PF_ISO, PF_KEY, PF_LAST, PF_LAT, PF_LINK, PF_MAX, PF_NBS, PF_NIT, PF_NS, PF_OSI, PF_OSINET, PF_PUP, PF_ROUTE, PF_SNA, PF_UNIX, PF_UNSPEC, PF_USER, PF_WAN, PF_X25, SCM_CONNECT, SCM_CREDENTIALS, SCM_CREDS, SCM_RIGHTS, SCM_TIMESTAMP, SHUT_RD, SHUT_RDWR, SHUT_WR, SOCK_DGRAM, SOCK_RAW, SOCK_RDM, SOCK_SEQPACKET, SOCK_STREAM, SOL_SOCKET, SOMAXCONN, SO_ACCEPTCONN, SO_ATTACH_FILTER, SO_BACKLOG, SO_BROADCAST, SO_CHAMELEON, SO_DEBUG, SO_DETACH_FILTER, SO_DGRAM_ERRIND, SO_DONTLINGER, SO_DONTROUTE, SO_ERROR, SO_FAMILY, SO_KEEPALIVE, SO_LINGER, SO_OOBINLINE, SO_PASSCRED, SO_PASSIFNAME, SO_PEERCRED, SO_PROTOCOL, SO_PROTOTYPE, SO_RCVBUF, SO_RCVLOWAT, SO_RCVTIMEO, SO_REUSEADDR, SO_REUSEPORT, SO_SECURITY_AUTHENTICATION, SO_SECURITY_ENCRYPTION_NETWORK, SO_SECURITY_ENCRYPTION_TRANSPORT, SO_SNDBUF, SO_SNDLOWAT, SO_SNDTIMEO, SO_STATE, SO_TYPE, SO_USELOOPBACK, SO_XOPEN, SO_XSE, UIO_MAXIOV, inet_aton, inet_ntoa, pack_sockaddr_in, pack_sockaddr_un, sockaddr_family, sockaddr_in, sockaddr_un, unpack_sockaddr_in, unpack_sockaddr_un at /usr/share/perl/5.8.2/IO/Socket/INET.pm line 11
Importing into IO::Socket::INET from Socket: AF_802, AF_AAL, AF_APPLETALK, AF_CCITT, AF_CHAOS, AF_CTF, AF_DATAKIT, AF_DECnet, AF_DLI, AF_ECMA, AF_GOSIP, AF_HYLINK, AF_IMPLINK, AF_INET, AF_INET6, AF_ISO, AF_KEY, AF_LAST, AF_LAT, AF_LINK, AF_MAX, AF_NBS, AF_NIT, AF_NS, AF_OSI, AF_OSINET, AF_PUP, AF_ROUTE, AF_SNA, AF_UNIX, AF_UNSPEC, AF_USER, AF_WAN, AF_X25, INADDR_ANY, INADDR_BROADCAST, INADDR_LOOPBACK, INADDR_NONE, IOV_MAX, MSG_BCAST, MSG_BTAG, MSG_CTLFLAGS, MSG_CTLIGNORE, MSG_CTRUNC, MSG_DONTROUTE, MSG_DONTWAIT, MSG_EOF, MSG_EOR, MSG_ERRQUEUE, MSG_ETAG, MSG_FIN, MSG_MAXIOVLEN, MSG_MCAST, MSG_NOSIGNAL, MSG_OOB, MSG_PEEK, MSG_PROXY, MSG_RST, MSG_SYN, MSG_TRUNC, MSG_URG, MSG_WAITALL, MSG_WIRE, PF_802, PF_AAL, PF_APPLETALK, PF_CCITT, PF_CHAOS, PF_CTF, PF_DATAKIT, PF_DECnet, PF_DLI, PF_ECMA, PF_GOSIP, PF_HYLINK, PF_IMPLINK, PF_INET, PF_INET6, PF_ISO, PF_KEY, PF_LAST, PF_LAT, PF_LINK, PF_MAX, PF_NBS, PF_NIT, PF_NS, PF_OSI, PF_OSINET, PF_PUP, PF_ROUTE, PF_SNA, PF_UNIX, PF_UNSPEC, PF_USER, PF_WAN, PF_X25, SCM_CONNECT, SCM_CREDENTIALS, SCM_CREDS, SCM_RIGHTS, SCM_TIMESTAMP, SHUT_RD, SHUT_RDWR, SHUT_WR, SOCK_DGRAM, SOCK_RAW, SOCK_RDM, SOCK_SEQPACKET, SOCK_STREAM, SOL_SOCKET, SOMAXCONN, SO_ACCEPTCONN, SO_ATTACH_FILTER, SO_BACKLOG, SO_BROADCAST, SO_CHAMELEON, SO_DEBUG, SO_DETACH_FILTER, SO_DGRAM_ERRIND, SO_DONTLINGER, SO_DONTROUTE, SO_ERROR, SO_FAMILY, SO_KEEPALIVE, SO_LINGER, SO_OOBINLINE, SO_PASSCRED, SO_PASSIFNAME, SO_PEERCRED, SO_PROTOCOL, SO_PROTOTYPE, SO_RCVBUF, SO_RCVLOWAT, SO_RCVTIMEO, SO_REUSEADDR, SO_REUSEPORT, SO_SECURITY_AUTHENTICATION, SO_SECURITY_ENCRYPTION_NETWORK, SO_SECURITY_ENCRYPTION_TRANSPORT, SO_SNDBUF, SO_SNDLOWAT, SO_SNDTIMEO, SO_STATE, SO_TYPE, SO_USELOOPBACK, SO_XOPEN, SO_XSE, UIO_MAXIOV, inet_aton, inet_ntoa, pack_sockaddr_in, pack_sockaddr_un, sockaddr_family, sockaddr_in, sockaddr_un, unpack_sockaddr_in, unpack_sockaddr_un at /usr/share/perl/5.8.2/IO/Socket/INET.pm line 12
Importing into IO::Socket::INET from Carp: carp, confess, croak at /usr/share/perl/5.8.2/IO/Socket/INET.pm line 13
Importing into IO::Socket::INET from Exporter: at /usr/share/perl/5.8.2/IO/Socket/INET.pm line 14
Importing into IO::Socket::INET from Errno: at /usr/share/perl/5.8.2/IO/Socket/INET.pm line 15
Importing into IO::Socket::UNIX from Socket: AF_802, AF_AAL, AF_APPLETALK, AF_CCITT, AF_CHAOS, AF_CTF, AF_DATAKIT, AF_DECnet, AF_DLI, AF_ECMA, AF_GOSIP, AF_HYLINK, AF_IMPLINK, AF_INET, AF_INET6, AF_ISO, AF_KEY, AF_LAST, AF_LAT, AF_LINK, AF_MAX, AF_NBS, AF_NIT, AF_NS, AF_OSI, AF_OSINET, AF_PUP, AF_ROUTE, AF_SNA, AF_UNIX, AF_UNSPEC, AF_USER, AF_WAN, AF_X25, INADDR_ANY, INADDR_BROADCAST, INADDR_LOOPBACK, INADDR_NONE, IOV_MAX, MSG_BCAST, MSG_BTAG, MSG_CTLFLAGS, MSG_CTLIGNORE, MSG_CTRUNC, MSG_DONTROUTE, MSG_DONTWAIT, MSG_EOF, MSG_EOR, MSG_ERRQUEUE, MSG_ETAG, MSG_FIN, MSG_MAXIOVLEN, MSG_MCAST, MSG_NOSIGNAL, MSG_OOB, MSG_PEEK, MSG_PROXY, MSG_RST, MSG_SYN, MSG_TRUNC, MSG_URG, MSG_WAITALL, MSG_WIRE, PF_802, PF_AAL, PF_APPLETALK, PF_CCITT, PF_CHAOS, PF_CTF, PF_DATAKIT, PF_DECnet, PF_DLI, PF_ECMA, PF_GOSIP, PF_HYLINK, PF_IMPLINK, PF_INET, PF_INET6, PF_ISO, PF_KEY, PF_LAST, PF_LAT, PF_LINK, PF_MAX, PF_NBS, PF_NIT, PF_NS, PF_OSI, PF_OSINET, PF_PUP, PF_ROUTE, PF_SNA, PF_UNIX, PF_UNSPEC, PF_USER, PF_WAN, PF_X25, SCM_CONNECT, SCM_CREDENTIALS, SCM_CREDS, SCM_RIGHTS, SCM_TIMESTAMP, SHUT_RD, SHUT_RDWR, SHUT_WR, SOCK_DGRAM, SOCK_RAW, SOCK_RDM, SOCK_SEQPACKET, SOCK_STREAM, SOL_SOCKET, SOMAXCONN, SO_ACCEPTCONN, SO_ATTACH_FILTER, SO_BACKLOG, SO_BROADCAST, SO_CHAMELEON, SO_DEBUG, SO_DETACH_FILTER, SO_DGRAM_ERRIND, SO_DONTLINGER, SO_DONTROUTE, SO_ERROR, SO_FAMILY, SO_KEEPALIVE, SO_LINGER, SO_OOBINLINE, SO_PASSCRED, SO_PASSIFNAME, SO_PEERCRED, SO_PROTOCOL, SO_PROTOTYPE, SO_RCVBUF, SO_RCVLOWAT, SO_RCVTIMEO, SO_REUSEADDR, SO_REUSEPORT, SO_SECURITY_AUTHENTICATION, SO_SECURITY_ENCRYPTION_NETWORK, SO_SECURITY_ENCRYPTION_TRANSPORT, SO_SNDBUF, SO_SNDLOWAT, SO_SNDTIMEO, SO_STATE, SO_TYPE, SO_USELOOPBACK, SO_XOPEN, SO_XSE, UIO_MAXIOV, inet_aton, inet_ntoa, pack_sockaddr_in, pack_sockaddr_un, sockaddr_family, sockaddr_in, sockaddr_un, unpack_sockaddr_in, unpack_sockaddr_un at /usr/share/perl/5.8.2/IO/Socket/UNIX.pm line 11
Importing into IO::Socket::UNIX from Socket: AF_802, AF_AAL, AF_APPLETALK, AF_CCITT, AF_CHAOS, AF_CTF, AF_DATAKIT, AF_DECnet, AF_DLI, AF_ECMA, AF_GOSIP, AF_HYLINK, AF_IMPLINK, AF_INET, AF_INET6, AF_ISO, AF_KEY, AF_LAST, AF_LAT, AF_LINK, AF_MAX, AF_NBS, AF_NIT, AF_NS, AF_OSI, AF_OSINET, AF_PUP, AF_ROUTE, AF_SNA, AF_UNIX, AF_UNSPEC, AF_USER, AF_WAN, AF_X25, INADDR_ANY, INADDR_BROADCAST, INADDR_LOOPBACK, INADDR_NONE, IOV_MAX, MSG_BCAST, MSG_BTAG, MSG_CTLFLAGS, MSG_CTLIGNORE, MSG_CTRUNC, MSG_DONTROUTE, MSG_DONTWAIT, MSG_EOF, MSG_EOR, MSG_ERRQUEUE, MSG_ETAG, MSG_FIN, MSG_MAXIOVLEN, MSG_MCAST, MSG_NOSIGNAL, MSG_OOB, MSG_PEEK, MSG_PROXY, MSG_RST, MSG_SYN, MSG_TRUNC, MSG_URG, MSG_WAITALL, MSG_WIRE, PF_802, PF_AAL, PF_APPLETALK, PF_CCITT, PF_CHAOS, PF_CTF, PF_DATAKIT, PF_DECnet, PF_DLI, PF_ECMA, PF_GOSIP, PF_HYLINK, PF_IMPLINK, PF_INET, PF_INET6, PF_ISO, PF_KEY, PF_LAST, PF_LAT, PF_LINK, PF_MAX, PF_NBS, PF_NIT, PF_NS, PF_OSI, PF_OSINET, PF_PUP, PF_ROUTE, PF_SNA, PF_UNIX, PF_UNSPEC, PF_USER, PF_WAN, PF_X25, SCM_CONNECT, SCM_CREDENTIALS, SCM_CREDS, SCM_RIGHTS, SCM_TIMESTAMP, SHUT_RD, SHUT_RDWR, SHUT_WR, SOCK_DGRAM, SOCK_RAW, SOCK_RDM, SOCK_SEQPACKET, SOCK_STREAM, SOL_SOCKET, SOMAXCONN, SO_ACCEPTCONN, SO_ATTACH_FILTER, SO_BACKLOG, SO_BROADCAST, SO_CHAMELEON, SO_DEBUG, SO_DETACH_FILTER, SO_DGRAM_ERRIND, SO_DONTLINGER, SO_DONTROUTE, SO_ERROR, SO_FAMILY, SO_KEEPALIVE, SO_LINGER, SO_OOBINLINE, SO_PASSCRED, SO_PASSIFNAME, SO_PEERCRED, SO_PROTOCOL, SO_PROTOTYPE, SO_RCVBUF, SO_RCVLOWAT, SO_RCVTIMEO, SO_REUSEADDR, SO_REUSEPORT, SO_SECURITY_AUTHENTICATION, SO_SECURITY_ENCRYPTION_NETWORK, SO_SECURITY_ENCRYPTION_TRANSPORT, SO_SNDBUF, SO_SNDLOWAT, SO_SNDTIMEO, SO_STATE, SO_TYPE, SO_USELOOPBACK, SO_XOPEN, SO_XSE, UIO_MAXIOV, inet_aton, inet_ntoa, pack_sockaddr_in, pack_sockaddr_un, sockaddr_family, sockaddr_in, sockaddr_un, unpack_sockaddr_in, unpack_sockaddr_un at /usr/share/perl/5.8.2/IO/Socket/UNIX.pm line 12
Importing into IO::Socket::UNIX from Carp: carp, confess, croak at /usr/share/perl/5.8.2/IO/Socket/UNIX.pm line 13