Недавно надо было сделать кое-что с IO::Socket, но из-за недокументированного поведения — возник «костыль», которому теперь ищу правильное решение. С ответом можно не спешить — сейчас эта вещь успешно работает с «костылем», реализованным не на стороне перла, а во внешнем приложении :D
Есть Perl, есть IO::Socket, отдающий peeraddr в текстовом виде («x.x.x.x»), задача — получить его числовое представление, совместимое с C-функцией inet_aton без использования б-гомерзких костылей наподобие модификации исходников модуля или написания аналога inet_aton() всеми возможными в P....
>IO::Socket will export all functions (and constants) defined by Socket.
смотрим в Socket и видим:
>Socket, sockaddr_in, sockaddr_un, inet_aton, inet_ntoa, inet_pton, inet_ntop — load the C socket.h defines and structure manipulators