任何人看到這個代碼有什麼問題?當我們執行它(在Linux上)時,我們直接轉到「錯誤:未知主機」塊。Perl elsif沒有被遺漏
Perl是5.8.6
$hostname = "host2";
if ($hostname eq "host1") {
$dbhost = 'dbi:Oracle:dbhost1';
}
elsif ($hostname eq "host2") {
$dbhost = 'dbi:Oracle:dbhost2';
}
elsif ($hostname eq "host3" || $hostname eq "host4") {
$dbhost = 'dbi:Oracle:dbhost3';
}
else {
print "ERROR: UNKNOWN HOST\n";
die "Can't connect";
}
看起來對我很好,並且在5.8.9上正常工作。您使用的是哪個版本的perl? – Doon 2010-08-12 18:43:04
在「This is perl,v5.10.1(*)for x86_64-linux-gnu-thread-multi」(Ubuntu 10.04.1 LTS)下適用於我。什麼是你的確切的主機,Perl版本,這是完整的代碼? – 2010-08-12 18:43:09
你確定在生產代碼中定義了「$ hostname」嗎?你是否正在使用'使用警告;嚴格使用;'? – 2010-08-12 18:43:27