Problem with Perl script after upgrade

onaweb

Well-Known Member
Jan 1, 2004
76
0
156
About 2 weeks ago, I performed an upgrade to cPanel, at this time a perl script that one of my clients is using stopped working. Although I am not sure if the recent upgrade is related or not, it is the only changes made to this site or server since it was last working.

The script uses a form to save info to a csv file. The script requires the following perl modules:
###### required packages
# AnyData
# DBD::File
# DBD::AnyData
# DBI
# CGI::Simple
# HTML::Template
# Time::Format

all of which are installed. When trying to access the script we receive the following error message:

Sorry, there was an error:
Can't locate object method "STORE" via package "DBD::File::db" at /usr/lib/perl5/site_perl/5.8.1/i686-linux/DBD/File.pm line 250, <DATA> line 3077.

Any clues? Any help would be greatl;y appreciated as this client is very upset that her site does not work. Again, the only change either for the site or server was the recent upgrade perfromed to cPanel so my thinking is that is somehow related.

I have tried to reinstall all required perl mods but without any luck.

I am running:
cpanel 9.1.0-RELEASE 85
apache 1.3.29 (Unix)
perl 5.8.1
 

chirpy

Well-Known Member
Verifed Vendor
Jun 15, 2002
13,437
33
473
Go on, have a guess
Sounds like your perl modules are either corrupt or out of sync. You could try:

/scripts/perlinstaller DBI
/scripts/perlinstaller DBD::File
/scripts/perlinstaller DBD::AnyData

This would make sure that all of those are at the latest version.

I had a look at line 250 in /usr/lib/perl5/site_perl/5.8.1/i686-linux/DBD/File.pm and it is using a method defined in /usr/lib/perl5/site_perl/5.8.1/i686-linux/DBI.pm (STORE) which should work since the latter module is included in the former at run time. You could check both of the files I mentioned to see if they both appear complete if the above perlinstaller's don't work.
 

onaweb

Well-Known Member
Jan 1, 2004
76
0
156
Got it. thanks for your help. I had already re-installed all the required modules, but had not noticed an error message that the DBD::AnyData was dependant on SQL::Statement which was an incompatible version. I reinstalled SQL::Statement and then DBD:AnyData and all worked fine.