Deal of the Month: 50% Discount on Windows 7 (Limited Amazon.com offer) Main Page | Report this Page
Computers Forum Index  »  Computer Languages (Perl - Modules)  »  Help with Net::IP::Match and mod_perl
Page 1 of 1    

Help with Net::IP::Match and mod_perl

Author Message
Allen Wooden
Posted: Wed Sep 08, 2004 11:13 pm
Guest
I'm having trouble getting this to work
under mod_perl 1.29/Apache 1.3.31

#!/usr/local/bin/perl -w
use strict;
use warnings;

use CGI qw(:standard :html3 -no_xhtml -newstyle_urls );

use Net::IP::Match;

my ($search, $q);
$q = new CGI;
$search = $q->param('search');

if ( __MATCH_IP($search, qw{ 10.0.0.0/8 169.254.0.0/16 172.16.0.0/12
192.168.0.0/16 223.0.0.0/8 224.0.0.0/3 127.0.0.0/8 }))
{
print $q->header;
print $q->start_html;
print $q->blockquote("Looks like it works");
print $q->end_html;
}


running this from command line works fine, however when run via
http://host/cgi-bin/test.pl?search=10.1.1.1 gives an internal server
error:

PerlRun: `Undefined subroutine
&Apache::ROOT::cgi_2dbin::test_2epl::__MATCH_IP called at /usr/loc
al/apache/cgi-bin//test.pl line 14.\n'
 
Allen Wooden
Posted: Thu Sep 09, 2004 5:19 pm
Guest
On Wed, 08 Sep 2004 19:13:31 GMT, Allen Wooden
<allen.wooden@educate.invalid> wrote:

Quote:
I'm having trouble getting this to work
under mod_perl 1.29/Apache 1.3.31


I found an alternative module Net::Subnets which works as expected.

I am still curious as to why the orginal didn't work so if anyone
wishes to enlighten me I'd appreciate it.

Allen
 
Brian McCauley
Posted: Fri Sep 10, 2004 11:54 pm
Guest
Allen Wooden wrote:
Quote:
I'm having trouble getting this to work
under mod_perl 1.29/Apache 1.3.31

#!/usr/local/bin/perl -w
use strict;
use warnings;

use CGI qw(:standard :html3 -no_xhtml -newstyle_urls );

use Net::IP::Match;

my ($search, $q);
$q = new CGI;
$search = $q->param('search');

if ( __MATCH_IP($search, qw{ 10.0.0.0/8 169.254.0.0/16 172.16.0.0/12
192.168.0.0/16 223.0.0.0/8 224.0.0.0/3 127.0.0.0/8 }))
{
print $q->header;
print $q->start_html;
print $q->blockquote("Looks like it works");
print $q->end_html;
}


running this from command line works fine, however when run via
http://host/cgi-bin/test.pl?search=10.1.1.1 gives an internal server
error:

PerlRun: `Undefined subroutine
&Apache::ROOT::cgi_2dbin::test_2epl::__MATCH_IP called at /usr/loc
al/apache/cgi-bin//test.pl line 14.\n'

It looks to me like source filters and eval() don't mix well.

(Apache::Registry uses eval to compile test.pl as a module.)

(Net::IP::Match uses source filters)
 
 
Page 1 of 1    
All times are GMT
The time now is Sun Nov 08, 2009 4:01 am