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

FreeBSD Manual Pages

  
 
  

home | help
Net::IP::Match::XS(3) User Contributed Perl DocumentationNet::IP::Match::XS(3)

NAME
       Net::IP::Match::XS - Efficiently	match IP addresses against IP ranges
       with C.

SYNOPSIS
	 use Net::IP::Match::XS;
	 my $match = match_ip( $ip_addr, $match_ip1, $match_ip2, ... );

DESCRIPTION
       Net::IP::Match::XS is based upon, and does the same thing as
       Net::IP::Match.	The unconditionally exported subroutine	'match_ip'
       determines if the ip to match ( first argument )	matches	any of the
       subsequent ip arguments.	 Match arguments may be	absolute quads,	as
       '127.0.0.1', or contain mask bits as '111.245.76.248/29'.  A true
       return value indicates a	match. It was written in C, rather than	a
       macro, preprocessed through Perl's source filter	mechanism ( as is
       Net::IP::Match ), so that the ip	arguments could	be traditional perl
       scalars.	The C code is lean and mean ( IMHO ).

   Example in Apache/mod_perl
       I use this module in my Apache server's mod_perl	DB logging script to
       determine if an incoming	IP is 'remote' or 'local'. First, I set	up
       some variables in httpd.conf:

	 PerlSetvar DBILogger_local_ips	'222.234.52.192/29'
	 PerlAddvar DBILogger_local_ips	'111.245.76.248/29'
	 PerlAddvar DBILogger_local_ips	'10.0.0.0/24'
	 PerlAddvar DBILogger_local_ips	'172.16.0.0/12'
	 PerlAddvar DBILogger_local_ips	'192.168.0.0/16'
	 PerlAddvar DBILogger_local_ips	'127.0.0.1'

       These are the ip	addresses I want to be considered local. In the
       mod_perl	module:

	 my @local_ips = $r->dir_config( "DBILogger_local_ips" );
	 my $local = match_ip( $incoming_ip, @local_ips	);

       Now $local is just that,	and I set the database key accordingly.

   EXPORT
       'match_ip', unconditionally.

SEE ALSO
       Net::IP::Match by Marcel	GrA1/4nauer.

AUTHOR
       Beau E. Cox, <beaucox@hawaii.rr.com>

COPYRIGHT AND LICENSE
       Copyright (C) 2004 by Beau E. Cox

       This library is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself, either Perl	version	5.6.1 or, at
       your option, any	later version of Perl 5	you may	have available.

perl v5.24.1			  2004-12-25		 Net::IP::Match::XS(3)

NAME | SYNOPSIS | DESCRIPTION | SEE ALSO | AUTHOR | COPYRIGHT AND LICENSE

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

home | help