Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.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,我偶然发现了这段代码(修改后的摘录): 在这种情况下,是否有理由使用自生功能?为什么不干脆做呢 my $respMap; my @respIdArray; foreach my $respId (@$someList) { push(@respIdArray, $respId); } $respMap->{'ids'} = \@respIdArray; return $respMap; 跟进:有人能给我一个很好的自生使用案例吗?在处理深层结构时,自生更有用 pus

我偶然发现了这段代码(修改后的摘录):

在这种情况下,是否有理由使用自生功能?为什么不干脆做呢

 my $respMap;
 my @respIdArray;
 foreach my $respId (@$someList) {
      push(@respIdArray, $respId);
 }
 $respMap->{'ids'} = \@respIdArray;
 return $respMap;

跟进:有人能给我一个很好的自生使用案例吗?

在处理深层结构时,自生更有用

push( @{$hash{'key'}{$subkey}}, 'value' );

任何一种方法都是正确的;第一个使用数组引用
$respidaray
,第二个使用普通数组
@respidaray
。在构建复杂数据结构时,您需要数组引用(请检查
perldoc perlreftut
),但除此之外,您将选择哪一个

请注意,在这两种情况下,您都将数组引用分配给
$respMap->{'ids'}
,因此示例实际上非常相似


顺便说一句,自动激活是另一回事,它与数据结构的动态创建有关。

@$someList
为空时,您的重写会带来细微的差异。另外,我很好奇为什么只重写隐式arrayref分配,而不重写隐式hashref分配。
push( @{$hash{'key'}{$subkey}}, 'value' );