Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Net::Works::Address(3)User Contributed Perl DocumentatioNet::Works::Address(3)

NAME
       Net::Works::Address - An	object representing a single IP	(4 or 6)
       address

VERSION
       version 0.22

SYNOPSIS
	 use Net::Works::Address;

	 my $ip	= Net::Works::Address->new_from_string(	string => '192.0.2.1' );
	 print $ip->as_string();     # 192.0.2.1
	 print $ip->as_integer();    # 3221225985
	 print $ip->as_binary();     # 4-byte packed form of the address
	 print $ip->as_bit_string(); # 11000000000000000000001000000001
	 print $ip->version();	     # 4
	 print $ip->prefix_length();   # 32

	 my $next = $ip->next_ip();	# 192.0.2.2
	 my $prev = $ip->previous_ip();	# 192.0.2.0

	 if ( $next > $ip ) { print $ip->as_string(); }

	 my @sorted = sort $next, $prev, $ip;

	 my $ipv6 = Net::Works::Address->new_from_string( string => '2001:db8::1234' );
	 print $ipv6->as_integer(); # 42540766411282592856903984951653831220

	 my $ip_from_int = Net::Works::Address->new_from_integer(
	     integer =>	"42540766411282592856903984951653831220"
	 );

DESCRIPTION
       Objects of this class represent a single	IP address. It can handle both
       IPv4 and	IPv6 addresses.	It provides various methods for	getting
       information about the address, and also overloads the objects so	that
       addresses can be	compared as integers.

       For IPv6, it uses 128-bit integers (via Math::Int128) to	represent the
       numeric value of	an address.

METHODS
       This class provides the following methods:

   Net::Works::Address->new_from_string( ... )
       This method takes a "string" parameter and an optional "version"
       parameter. The "string" parameter should	be a string representation of
       an IP address.

       The "version" parameter should be either	4 or 6,	but you	don't really
       need this unless	you're trying to force a dotted	quad to	be interpreted
       as an IPv6 address or to	a force	an IPv6	address	colon-separated	hex
       number to be interpreted	as an IPv4 address.

   Net::Works::Address->new_from_integer( ... )
       This method takes a "integer" parameter and an optional "version"
       parameter. The "integer"	parameter should be an integer representation
       of an IP	address.

       The "version" parameter should be either	4 or 6.	Unlike with strings,
       you'll need to set the version explicitly to get	an IPv6	address.

   $ip->as_string()
       Returns a string	representation of the address in the same format as
       inet_ntop, e.g.,	"192.0.2.1", "::192.0.2.1", or "2001:db8::1234".

   $ip->as_integer()
       Returns the address as an integer. For IPv6 addresses, this is returned
       as a Math::Int128 object, regardless of the value.

   $ip->as_binary()
       Returns the packed binary form of the address (4	or 16 bytes).

   $ip->as_bit_string()
       Returns the address as a	string of 1's and 0's, like
       "00000000000000000000000000010000".

   $ip->as_ipv4_string()
       This returns a dotted quad representation of an address,	even if	it's
       an IPv6 address.	However, this will die if the address is greater than
       the max value of	an IPv4	address	(2**32 - 1). It's primarily useful for
       debugging.

   $ip->version()
       Returns a 4 or 6	to indicate whether this is an IPv4 or IPv6 address.

   $ip->prefix_length()
       Returns the prefix length for the IP address, which is either 32	(IPv4)
       or 128 (IPv6).

   $ip->bits()
       An alias	for "$ip->prefix_length()". This helps make addresses &
       network objects interchangeable in some cases.

   $ip->next_ip()
       Returns the numerically next IP,	regardless of whether or not it's in
       the same	subnet as the current IP.

       This will throw an error	if the current IP address it the last address
       in its IP range.

   $ip->previous_ip()
       Returns the numerically previous	IP, regardless of whether or not it's
       in the same subnet as the current IP.

       This will throw an error	if the current IP address it the first address
       in its IP range (address	0).

OVERLOADING
       This class overloads comparison,	allowing you to	compare	two objects
       and to sort them	(either	as numbers or strings).

       It also overloads stringification to call the "$ip->as_string()"
       method.

AUTHORS
       o   Dave	Rolsky <autarch@urth.org>

       o   Greg	Oschwald <oschwald@cpan.org>

       o   Olaf	Alders <oalders@wundercounter.com>

COPYRIGHT AND LICENSE
       This software is	copyright (c) 2016 by MaxMind, Inc.

       This is free software; you can redistribute it and/or modify it under
       the same	terms as the Perl 5 programming	language system	itself.

perl v5.24.1			  2016-08-21		Net::Works::Address(3)

NAME | VERSION | SYNOPSIS | DESCRIPTION | METHODS | OVERLOADING | AUTHORS | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Net::Works::Address&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help