Perl 返回的值错误";散列(0x8dc0f54)";
我试图获取返回到Perl 返回的值错误";散列(0x8dc0f54)";,perl,cgi,Perl,Cgi,我试图获取返回到$HTMLData的值,但我得到的是哈希(0x8dc0f54)返回值,而不是Hello World我似乎无法理解它 print "Content-type: text/html\n\n"; my $XML = new XML::Simple; my $Data = $XML->XMLin("Data/Content/$PageName.xml"); my $HTMLData = $Data->{HTMLData}; print "$HTMLData"; XML
$HTMLData
的值,但我得到的是哈希(0x8dc0f54)
返回值,而不是Hello World
我似乎无法理解它
print "Content-type: text/html\n\n";
my $XML = new XML::Simple;
my $Data = $XML->XMLin("Data/Content/$PageName.xml");
my $HTMLData = $Data->{HTMLData};
print "$HTMLData";
XML数据:
<HTMLData>
<p>Hello World</p>
</HTMLData>
你好,世界
如果您转储了实际数据,您将看到这里发生了什么:
use Data::Dumper;
print Dumper($HTMLData);
#$VAR1 = {
# 'p' => 'Hello World'
# };
您没有访问“p”节点。尝试
my$HTMLData=$Data->{'HTMLData'}->{'p'}
试试$Data->{HTMLData}->{p}
。您可以使用Data::Dumper;打印转储程序(数据)
以查看数据结构。不希望访问“p”节点需要访问HTMLData并获取该节点中的HTML数据“Hello World”,然后重新编码:print$XML->XMLOut($HTMLData)代码>你说你想在你的问题中包含“Hello World”的内容。@Bill那么XML是错误的。如果节点的内容是HTML,那么它应该包含在CDATA块中