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.