我的问题与此答案中提到的问题相同。我一直在尝试理解代码,这就是我学到的:
它在文件parse_xml.cgi中失败,尝试return $message{$name}
从名为messages的文件(位于 html_en 目录中)获取消息()。$messages 值来自GetMessageHash
文件adminprotocol-lib.pl中的方法:
sub GetMessageHash
{
return $ENV{"QTSSADMINSERVER_EN_MESSAGEHASH"}
}
在$ENV{"QTSSADMINSERVER_EN_MESSAGEHASH"}
文件streamingadminserver.pl中设置:
$ENV{"QTSSADMINSERVER_EN_MESSAGEHASH"} = $messages{"en"}
我对 Perl 一无所知,所以我不知道问题可能是什么,因为我看到$messages{"en"}
的值是正确的(如果我知道,print($messages{"en"}{'SunStr'}
我得到的值是“Sun”))。
但是,如果我尝试去做,print($ENV{"QTSSADMINSERVER_EN_MESSAGEHASH"}{'SunStr'}
我什么也得不到。好像$ENV{"QTSSADMINSERVER_EN_MESSAGEHASH"}
没有设置
我尝试了这个简单的例子,效果很好:
$ENV{"HELLO"} = "hello";
print($ENV{"HELLO"});
它工作正常,打印“你好”。
知道问题可能是什么吗?