Home > Archive > PERL Modules > September 2004 > Help with Net::IP::Match and mod_perl
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
Help with Net::IP::Match and mod_perl
|
|
| Allen Wooden 2004-09-13, 3:56 pm |
| 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::__MA
TCH_IP called at /usr/loc
al/apache/cgi-bin//test.pl line 14.\n'
| |
| Allen Wooden 2004-09-14, 8:57 am |
| On Wed, 08 Sep 2004 19:13:31 GMT, Allen Wooden
<allen.wooden@educate.invalid> wrote:
>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 2004-09-17, 8:56 pm |
|
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::__MA
TCH_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)
|
|
|
|
|