Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl 无法在另一个数组的哈希中打印数组_Perl - Fatal编程技术网

Perl 无法在另一个数组的哈希中打印数组

Perl 无法在另一个数组的哈希中打印数组,perl,Perl,请检查以下代码。我想打印数组,但它只打印数组中的第一项 $prefix = 'ABC'; $search_pc_exclude = "PC1 PC2 PC3"; @exclude = split(/\s+/, $search_pc_exclude); push @prefix, {"pre" => $prefix, "exc" => @exclude}; print $prefix[0]->{pre}; print $prefix[0]->{exc}; #why th

请检查以下代码。我想打印数组,但它只打印数组中的第一项

$prefix = 'ABC';
$search_pc_exclude = "PC1 PC2 PC3";

@exclude = split(/\s+/, $search_pc_exclude);
push @prefix, {"pre" => $prefix, "exc" => @exclude};

print $prefix[0]->{pre};
print $prefix[0]->{exc}; #why this is not array?

分配实际上是这样处理的:

push @prefix, {"pre" => $prefix, "exc" => "PC1", "PC2" => "PC"}
这将为您提供这些键的哈希。您需要一个数组引用:

# This creates a copy of @exclude
push @prefix, {"pre" => $prefix, "exc" => [@exclude]}
或:


分配实际上是这样处理的:

push @prefix, {"pre" => $prefix, "exc" => "PC1", "PC2" => "PC"}
这将为您提供这些键的哈希。您需要一个数组引用:

# This creates a copy of @exclude
push @prefix, {"pre" => $prefix, "exc" => [@exclude]}
或:


谢谢你,莱纳斯!但在将其更改为\@exclude之后,我仍然无法打印它(打印$prefix[0]->{exc};),但得到了“ARRAY(0x9e2b368)”。无需担心。我想出来了。我需要先取消引用它(即,$arr=$prefix[0]->{exc};@arr=@$arr;),再次感谢!这是因为$prefix[0]->{exc}是一个数组引用,您需要取消引用它!使用print@{prefix[0]->{exc}来打印数组…谢谢Linus!但在将其更改为\@exclude之后,我仍然无法打印它(打印$prefix[0]->{exc};),但得到了“ARRAY(0x9e2b368)”。无需担心。我想出来了。我需要先取消引用它(即,$arr=$prefix[0]->{exc};@arr=@$arr;),再次感谢!这是因为$prefix[0]->{exc}是一个数组引用,您需要取消引用它!使用print@{prefix[0]->{exc}打印数组。。。