sub new_from_string { my $class = shift; my %p = @_; my $str = delete $p{string}; my $version = delete $p{version}; my $ip = $str; use IP::Tools; # if ( defined $str && inet_pton( AF_INET, $str ) ) { if ( defined $str ) { $version ||= 4; $str = '::' . $str if $version == 6; } else { $version ||= 6; _validate_ip_string( $str, $version ); } return $class->new( _integer => IP::Tools::ip_to_int($ip), # _integer => _string_address_to_integer( $str, $version ), version => $version, %p, ); }