Full disclosure - I work on Windows (Win7 x64 / Stawberry 5.16.1) so already coded Win32::Interfaces to parse 'ipconfig', 'arp -a' and various 'wmic' and 'netsh' commands to get all I need. Of course, my "solution" is Windows-only and I would say not CPAN-ready due to the "parsing a system command" approach I used. Win32::IPHelper does a much better job in terms of accessing the correct Windows data structures with
XS Win32::API - albeit, there are bugs and XS is a bit beyond my capabilities to fix / patch. Likewise, the *nix-centric modules I listed above use XS against the sockets API (not WinSock).
That said, if I want to port my program (that uses Win32::Interfaces) to *nix, I'm stuffed. I could do some conditional requires based on OS, but none of the modules I've found provide all the accessors I'm looking for (IP(v6) address and gateways, MAC's, MTU, names, etc...).