我多年没有使用过Perl但是必须处理一些旧的代码.
我创建了一个子程序,我想将一个字符串和一个数组传递给:
sub pass_in { my ($str,$array) = @_; for my $e (@$array) { print "I see str $str and list elem: $e\n"; } return 0; } my @temp_arr = qw(A B C D E); my $str = "hello"; pass_in( $str,\@temp_arr );
这很好用.但相反,我不想创建一个temp_arr.是否有可能做到:
不起作用:
pass_in( $str,qw(A B C D E));
也不起作用:
pass_in( $str,\qw(A B C D E));
所以我不必创建临时变量?
解决方法
您可以使用方括号来创建对数组的引用:
pass_in( $str,[qw(A B C D E)]);