Perl超难的哈希、数组混合访问
Perl求助:超难的哈希、数组混合访问
Simple XML 读出的值如下,我想访问其中的'Identification'元素怎么访问呢?
尝试用下面的,但是发现输出是空的。
------解决方案--------------------
(perl我是外行,下面说的很可能是错的,但上面的代码结果是对的)
我的理解是只有变量名前需要加$@,在值前面不用,因为perl已经知道这个值是什么类型。所以虽然$VAR1->{'Rule'}是一个数组,但不用写@{$VAR1->{'Rule'}}(好像这样写又把数组变成hash table了,搞不懂¥$@3)。
------解决方案--------------------
Simple XML 读出的值如下,我想访问其中的'Identification'元素怎么访问呢?
$VAR1 = {
'Version' => '1',
'Rule' => [
{
'Identification' => ‘ABCC',
'Name' => A,
'Operation' => '2'
},
]
};
尝试用下面的,但是发现输出是空的。
${{@{$rules->{‘Rule’}}[0]}->{‘Identification’}}
------解决方案--------------------
$VAR1->{'Rule'}[0]->{'Identification'}
(perl我是外行,下面说的很可能是错的,但上面的代码结果是对的)
我的理解是只有变量名前需要加$@,在值前面不用,因为perl已经知道这个值是什么类型。所以虽然$VAR1->{'Rule'}是一个数组,但不用写@{$VAR1->{'Rule'}}(好像这样写又把数组变成hash table了,搞不懂¥$@3)。
------解决方案--------------------
#! usr/bin/perl
use strict;
my $VAR1 = {
'Version' => '1',
'Rule' => [
{
'Identification' => 'ABCC',
'Name' => 'A',
'Operation' => '2'