I'm starting my own server and porting my perl scripts from my web host's server to mine.
My scripts work fine on the old server. On the new server I'm getting this error:
Software error:
Can't call method "prepare" on an undefined value at /www/cgi-bin/scri
+pt.pl line 98.
Here is my code:
1 #!/usr/bin/perl -wT
2
3 use DBI;
4 use strict;
5 use CGI;
6 use CGI::Carp qw(fatalsToBrowser);
86 ##Start database connections######
87 my $database = "db";
88 my $db_server = "localhost";
89 my $user = "user";
90 my $password = "password";
91
92 ##Connect to database, insert statement, & disconnect #
93 my $dbh = DBI->connect("DBI:mysql:$database:$db_server", $user
+, $password);
94
95 my $statement = "SELECT DISTINCT city FROM table WHERE state=?
+ AND approved = 'yes' ORDER BY city";
96
97 my $sth;
98 $sth = $dbh->prepare($statement) or die "Couldn't prepare the
+query: ".$sth->errstr;
Any idea why this code is failing on my new server? Is $statement on line 98 really undefined?
I've installed Bundle::DBI and DBD::mysql.
Should I install some other module? Below is a list of my installed Perl modules:
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/Bundle/DBD/mysq
+l.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBD/File.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBD/ExampleP.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBD/Proxy.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBD/Sponge.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBD/DBM.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBD/mysql.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBD/NullP.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBD/mysql/GetIn
+fo.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/DBD.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/DBD/Metadat
+a.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/Bundle/DBD/mysq
+l.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBD/File.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBD/ExampleP.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBD/Proxy.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBD/Sponge.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBD/DBM.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBD/mysql.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBD/NullP.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBD/mysql/GetIn
+fo.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/DBD.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/DBD/Metadat
+a.pm
/usr/lib/perl5/site_perl/5.8.6/DBD/Multiplex.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/Bundle/DBD/mysq
+l.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBD/File.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBD/ExampleP.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBD/Proxy.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBD/Sponge.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBD/DBM.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBD/mysql.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBD/NullP.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBD/mysql/GetIn
+fo.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/DBD.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/DBD/Metadat
+a.pm
/usr/lib/perl5/site_perl/5.8.6/DBD/Multiplex.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/Bundle/DBI.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/PurePerl.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/DBD.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/ProxyServer
+.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/Profile.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/Roadmap.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/ProfileDump
+er.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/Changes.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/ProfileData
+.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/FAQ.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/W32ODBC.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/SQL/Nano.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/Const/GetIn
+foType.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/Const/GetIn
+foReturn.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/Const/GetIn
+fo/ODBC.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/Const/GetIn
+fo/ANSI.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/ProfileDump
+er/Apache.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/DBD/Metadat
+a.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/Win32/DBIODBC.p
+m
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/Bundle/DBI.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/PurePerl.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/DBD.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/ProxyServer
+.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/Profile.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/Roadmap.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/ProfileDump
+er.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/Changes.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/ProfileData
+.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/FAQ.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/W32ODBC.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/SQL/Nano.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/Const/GetIn
+foType.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/Const/GetIn
+foReturn.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/Const/GetIn
+fo/ODBC.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/Const/GetIn
+fo/ANSI.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/ProfileDump
+er/Apache.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/DBD/Metadat
+a.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/Win32/DBIODBC.p
+m
/usr/lib/perl5/site_perl/5.8.6/DBI/Format.pm
/usr/lib/perl5/site_perl/5.8.6/DBI/Shell.pm
/usr/lib/perl5/site_perl/5.8.6/DBI/Shell/Timing.pm
/usr/lib/perl5/site_perl/5.8.6/DBI/Shell/FindSqlFile.pm
/usr/lib/perl5/site_perl/5.8.6/DBI/Shell/SQLMinus.pm
/usr/lib/perl5/site_perl/5.8.6/DBI/Shell/Spool.pm
/usr/lib/perl5/site_perl/5.8.6/DBI/Shell/Completion.pm
/usr/lib/perl5/site_perl/5.8.6/DBI/Format/SQLMinus.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/Bundle/DBI.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/PurePerl.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/DBD.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/ProxyServer
+.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/Profile.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/Roadmap.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/ProfileDump
+er.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/Changes.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/ProfileData
+.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/FAQ.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/W32ODBC.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/SQL/Nano.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/Const/GetIn
+foType.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/Const/GetIn
+foReturn.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/Const/GetIn
+fo/ODBC.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/Const/GetIn
+fo/ANSI.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/ProfileDump
+er/Apache.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/DBI/DBD/Metadat
+a.pm
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/Win32/DBIODBC.p
+m
/usr/lib/perl5/site_perl/5.8.6/DBI/Format.pm
/usr/lib/perl5/site_perl/5.8.6/DBI/Shell.pm
/usr/lib/perl5/site_perl/5.8.6/DBI/Shell/Timing.pm
/usr/lib/perl5/site_perl/5.8.6/DBI/Shell/FindSqlFile.pm
/usr/lib/perl5/site_perl/5.8.6/DBI/Shell/SQLMinus.pm
/usr/lib/perl5/site_perl/5.8.6/DBI/Shell/Spool.pm
/usr/lib/perl5/site_perl/5.8.6/DBI/Shell/Completion.pm
/usr/lib/perl5/site_perl/5.8.6/DBI/Format/SQLMinus.pm