数组 – 将数组,标量和散列传递给Perl中的子例程
发布时间:2020-12-15 21:14:22 所属栏目:大数据 来源:网络整理
导读:将多个数组,变量,哈希值发送到子例程的最佳方式是什么? 简单的形式,作品. my $msg = getMsg(1,2,3);print $msg;sub getMsg { my($a,$b,$c) = @_;} 我有这个版本的困难,我不知道如何将数据安全地发送到子程序,而不使用全局,这不是我想要做的. my @array = ('
将多个数组,变量,哈希值发送到子例程的最佳方式是什么?
简单的形式,作品. my $msg = &getMsg(1,2,3); print $msg; sub getMsg { my($a,$b,$c) = @_; } 我有这个版本的困难,我不知道如何将数据安全地发送到子程序,而不使用全局,这不是我想要做的. my @array = ('a','b','c'); my $str = "Hello"; my %hash = ( 'a' => ['100','nuts'],'b' => ['200','bolts'],'c' => ['300','screws'],); my $msg = getMsg(@array,$str,%hash); print $msg; sub getMsg { my (@a,$s,%h) = @_; my $MSG; foreach my $x (@a) { $MSG .= "n$str,$x your hash value = $h{$x}[0] $h{$x}[1]"; } return $MSG } 解决方法
您可以使用参考文献:
getMsg(@array,%hash,$scalar); sub getMsg { my ($aref,$href,$foo) = @_; for my $elem (@$aref) { ... } } 请注意,您尝试的作业: my (@a,%h) = @_; 不起作用,因为@a是一个数组 – 将会打乱整个列表,使$s和%h未初始化. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |