Click here to get back home

Help with Net::IP::Match and mod_perl

 HomeNewsGroups | Search | About
 comp.lang.perl.modules    Post an article   get this group's latest topics as an RSS feed add this group's latest topics to your My MSN content add this group's latest topics to your My Yahoo content
Subject Author Date
Help with Net::IP::Match and mod_perl Allen Wooden 09-08-2004
Get Chitika Premium
Posted by Allen Wooden on September 8, 2004, 8:13 pm
Please log in for more thread options
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'





Posted by Allen Wooden on September 9, 2004, 2:19 pm
Please log in for more thread options
On Wed, 08 Sep 2004 19:13:31 GMT, Allen Wooden

>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



Posted by Brian McCauley on September 10, 2004, 9:54 pm
Please log in for more thread options


Allen Wooden wrote:
> 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)



Similar ThreadsPosted
CGI.pm and ModPerl::Registry December 21, 2007, 11:20 pm
modperl and apache handlers December 28, 2004, 5:38 am
Re: match nested tags May 3, 2006, 5:20 pm
Net::Telnet $prematch, $match April 12, 2007, 10:18 am
CPAN conflict issue - CGI.pm vs ModPerl::Registry September 25, 2006, 12:42 pm
Net::Netmask -> match usage problems April 14, 2005, 10:03 am
DBD::mysql object version 2.9003 does not match bootstrap parameter March 4, 2005, 9:00 am

Our other projects:

Art Dolls, Fairies and Mermaids - Sunnyfaces.net

Roy's Linux, Programming and Search Engines messages

1-Script XML SitemapXML Sitemap