- my $ip_addr = $self->getfield( $field );
-
- # strip user-entered leading 0's from IPv4 addresses
- # Parsers like NetAddr::IP interpret them as octal instead of decimal
- $ip_addr = join( '.', (
- map{ int($_) }
- split( /\./, $ip_addr )
- )
- ) if $ip_addr =~ /\./ && $ip_addr =~ /[\.^]0/;
-
- my $ip = NetAddr::IP->new( $ip_addr )
- or return "Illegal (IP address) $field: ".$self->getfield($field);
+ my $ip = NetAddr::IP->new(
+ $self->_ut_ip_strip_leading_zeros( $self->getfield( $field ) )
+ ) or return "Illegal (IP address) $field: ".$self->getfield($field);