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

FreeBSD Manual Pages

  
 
  

home | help
NetAddr::IP::Find(3)  User Contributed Perl Documentation NetAddr::IP::Find(3)

NAME
       NetAddr::IP::Find - Find	IP addresses in	plain text

SYNOPSIS
	 use NetAddr::IP::Find;
	 $num_found = find_ipaddrs($text, \&callback);

DESCRIPTION
       This is a module	for finding IP addresses in plain text.

   Functions
       NetAddr::IP::Find exports one function, find_ipaddrs(). It works	very
       similar to URI::Find's find_uris() or Email::Find's find_emails().

	 $num_ipaddrs_found = find_ipaddrs($text, \&callback);

       The first argument is a text to search through and manipulate. Second
       is a callback routine which defines what	to do with each	IP address as
       they're found. It returns the total number of IP	addresses found.

       The callback is given two arguments. The	first is a NetAddr::IP
       instance	representing the IP address found. The second is the actual IP
       address as found	in the text. Whatever the callback returns will
       replace the original text.

EXAMPLES
	 # For each IP address found, ping its host to see if its alive.
	 use Net::Ping;
	 my $pinger = Net::Ping->new;
	 my %pinged;
	 find_ipaddrs($text, sub {
			  my($ipaddr, $orig) = @_;
			  my $host = $ipaddr->to_string;
			  next if exists $pinged{$host};
			  $pinged{$host} = $pinger->ping($host);
		      });

	 while (my($host, $up) == each %pinged)	{
	     print "$host is " . $up ? 'up' : 'down' . "\n";
	 }

	 # Resolve IP address to FQDN
	 find_ipaddrs($text, sub {
			  my($ipaddr, $orig) = @_;
			  resolve_ip($ipaddr->to_string);
		      });

	 sub resolve_ip	{
	     use Net::DNS;
	     # see perldoc Net::DNS for	details
	 }

TODO
       o   Subnet support.

       o   IPv6	support.

AUTHOR
       Tatsuhiko Miyagawa <miyagawa@bulknews.net>

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

SEE ALSO
       NetAddr::IP, URI::Find, Email::Find, jdresove

perl v5.24.1			  2003-07-08		  NetAddr::IP::Find(3)

NAME | SYNOPSIS | DESCRIPTION | EXAMPLES | TODO | AUTHOR | SEE ALSO

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

home | help