2010-03-25 84 views
2

欲瞭解更多信息,請參閱本Example爲什麼我的Perl CGI腳本抱怨「Can not locate CGI/Simple.pm」?

use strict; use warnings; 
use CGI::Simple; 
use DBI; 

my $cgi = CGI::Simple->new; 
my $dsn = sprintf(
    'DBI:mysql:database=%s;host=%s', 
    'cdcol', 'localhost' 
); 

my $dbh = DBI->connect($dsn, root => '', 
    { AutoCommit => 0, RaiseError => 0 } 
); 

my $status = $dbh ? 'Connected' : 'Failed to connect'; 

print $cgi->header, <<HTML; 
<!DOCTYPE HTML> 
<html> 
<head><title>Test</title></head> 
<body> 
<h1>Perl CGI Script</h1> 
<p>$status</p> 
</body> 
</html> 
HTML 

此代碼給我錯誤:

The server encountered an internal error and was unable to complete your request. 

    Error message: 
    Can't locate CGI/Simple.pm in @INC (@INC contains: C:/xampp/perl/site/lib/ C:/xampp/perl/lib C:/xampp/perl/site/lib C:/xampp/apache) at C:/xampp/htdocs/perl/index.pl line 4. BEGIN failed--compilation aborted at C:/xampp/htdocs/perl/index.pl line 4. , 

    Error 500 
    localhost 
    3/25/2010 11:19:19 AM 
    Apache/2.2.14 (Win32) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1

這是什麼意思和我怎麼能解決這個問題?

+0

你甚至沒有到達DBI部分。這個問題的答案可以在Stackoverflow的幾個地方找到。 – 2010-03-25 16:45:05

回答

2

AFAIK,xampp是基於ActivePerl的。在命令行輸入ppm install CGI-Simple

ppm install DBD-mysql也是一個好主意。

1

要麼轉換腳本,以使用CGI.pm代替CGI::Simple,或ppmcpan安裝CGI::Simple

+0

而且,如果您打算使用'CGI.pm',仍然閱讀CGI :: Simple'的文檔以確保您使用'CGI.pm'的理智默認值。 – 2010-03-25 12:20:10

相關問題