“ Array => [...]”表示法是什么意思

时间:2019-07-07 10:30:11

标签: arrays perl

在要求我维护一些Perl代码中,我遇到了以下结构:

myArray => ['id1', 'id2', 'id3', 'id4']

我在网上搜索了一些定义/解释,但我只能找到对标量哈希的引用:

https://www.guru99.com/perl-tutorials.html

这是我遇到的实际代码的片段:

$config = eval {
    XMLin(
        $inFile,
        MyArray => [
            'id1', 'id2',"id3", 'id4'
        ]
    );
};

散列整个数组(不包含散列值)的语法是什么意思?

1 个答案:

答案 0 :(得分:5)

您提到了哈希和哈希,但都没有涉及。


IDENT => ...

相同
'IDENT', ...

[ ... ]

基本上等同于

do { my @anon = ( ... ); \@anon }

除非没有新范围。


XMLin(
    $inFile,
    MyArray => [
        'id1', 'id2',"id3", 'id4'
    ]
);

等同于

my @anon = ( 'id1', 'id2', 'id3', 'id4' );
XMLin($inFile, 'MyArray', \@anon);

这不是对XMLin的正确调用。如果存在,则第二个参数应为选项之一的名称(例如ForceArray。)