The Erlang kernel has an undocumented module for dealing with ipv4 and ipv6 internet addresses: inet_parse. I ran across it from a brief mention in the inet documentation while looking for a function to convert an Erlang ip_address() tuple to a string().