imagitastech
asked on
Perl CGI script Can't reach Validate.pm
When running a Perl script which uses libraries for Spreadsheet-ParseExcel this error stops completion.
Can't locate Params/Validate.pm in @INC (@INC contains: /usr/lib64/perl5/site_perl /5.8.8/x86 _64-linux- thread-mul ti /usr/lib64/perl5/site_perl /5.8.7/x86 _64-linux- thread-mul ti /usr/lib64/perl5/site_perl /5.8.6/x86 _64-linux- thread-mul ti /usr/lib64/perl5/site_perl /5.8.5/x86 _64-linux- thread-mul ti /usr/lib/perl5/site_perl/5 .8.8 /usr/lib/perl5/site_perl/5 .8.7 /usr/lib/perl5/site_perl/5 .8.6 /usr/lib/perl5/site_perl/5 .8.5 /usr/lib/perl5/site_perl /usr/lib64/perl5/vendor_pe rl/5.8.8/x 86_64-linu x-thread-m ulti /usr/lib64/perl5/vendor_pe rl/5.8.7/x 86_64-linu x-thread-m ulti /usr/lib64/perl5/vendor_pe rl/5.8.6/x 86_64-linu x-thread-m ulti /usr/lib64/perl5/vendor_pe rl/5.8.5/x 86_64-linu x-thread-m ulti /usr/lib/perl5/vendor_perl /5.8.8 /usr/lib/perl5/vendor_perl /5.8.7 /usr/lib/perl5/vendor_perl /5.8.6 /usr/lib/perl5/vendor_perl /5.8.5 /usr/lib/perl5/vendor_perl /usr/lib64/perl5/5.8.8/x86 _64-linux- thread-mul ti /usr/lib/perl5/5.8.8 .) at /usr/lib/perl5/5.8.8/Class /MethodMak er.pm line 9.
Compilation failed in require at /usr/lib/perl5/site_perl/5 .8.7/GnuPG /Options.p m line 59.
BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5 .8.7/GnuPG /Options.p m line 59.
Compilation failed in require at /usr/lib/perl5/site_perl/5 .8.7/GnuPG /Interface .pm line 28.
BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5 .8.7/GnuPG /Interface .pm line 28.
Compilation failed in require at /var/www/cgi-bin/EpsilonEO D line 13.
BEGIN failed--compilation aborted at /var/www/cgi-bin/EpsilonEO D line 13.
Yet I find two versions on Validate.pm in the Perl libraries path.
-rw-r--r-- 1 root root 4154 Jan 21 2006 /usr/lib/perl5/vendor_perl /5.8.8/i38 6-linux-th read-multi /Attribute /Params/Va lidate.pm
-rw-r--r-- 1 root root 21904 Mar 7 2007 /usr/lib/perl5/vendor_perl /5.8.8/i38 6-linux-th read-multi /Params/Va lidate.pm
The closet the path comes is at /usr/lib/perl5/vendor_perl /5.8.8
How can the search be made to include /usr/lib/perl5/vendor_perl /5.8.8/i38 6-linux-th read-multi /Params
Can't locate Params/Validate.pm in @INC (@INC contains: /usr/lib64/perl5/site_perl
Compilation failed in require at /usr/lib/perl5/site_perl/5
BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5
Compilation failed in require at /usr/lib/perl5/site_perl/5
BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5
Compilation failed in require at /var/www/cgi-bin/EpsilonEO
BEGIN failed--compilation aborted at /var/www/cgi-bin/EpsilonEO
Yet I find two versions on Validate.pm in the Perl libraries path.
-rw-r--r-- 1 root root 4154 Jan 21 2006 /usr/lib/perl5/vendor_perl
-rw-r--r-- 1 root root 21904 Mar 7 2007 /usr/lib/perl5/vendor_perl
The closet the path comes is at /usr/lib/perl5/vendor_perl
How can the search be made to include /usr/lib/perl5/vendor_perl
use strict;
use warnings;
use CGI;
use CGI::Carp qw(fatalsToBrowser);
use Spreadsheet::ParseExcel;
use File::Temp;
use IO::Handle;
use GnuPG::Interface;
/var/www/cgi-bin/EpsilonEOD line 13 is "use GnuPG::Interface;"
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
I'm a newbie; the answer was concise but I need a bit more detail.
The actual line that worked did not include the '/Params'
use lib '/usr/lib/perl5/vendor_per l/5.8.8/i3 86-linux-t hread-mult i';
Thanks to everyone for their help.
The actual line that worked did not include the '/Params'
use lib '/usr/lib/perl5/vendor_per
Thanks to everyone for their help.
ASKER
How do you modify @INC to include '/usr/lib/perl5/vendor_per
Obviously I'm a newbie using Perl but it seems to me there may be a version mismatch with
/usr/lib/perl5/5.8.8/Class
line 9 is
use Params::Validate qw(validate_pos);