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, ); } #### #!c:/apps/strawberry/perl/bin/perl.exe use strict; use warnings; use Net::Works::Address; my $addr = '1.2.3.4'; my $ip = Net::Works::Address->new_from_string( string => $addr); for(qw/as_string as_integer as_binary as_bit_string version mask_length/){ print $_,": ",$ip->$_(),"\n"; } #### Socket::inet_pton not implemented on this architecture at C:/apps/strawberry/perl/site/lib/Net/Works/Util.pm line 42.