【发布时间】:2022-08-04 14:00:18
【问题描述】:
我定义了哈希和数组常量,当将它们传递给函数时,我必须将它们作为引用传递。 但是我想知道正确的语法是什么。
考虑这个例子:
#!/usr/bin/perl
use strict;
use warnings;
use constant AC => qw(a b c);
sub f($)
{
print \"ref=\", ref $_[0], \"\\n\";
print \"$_\\n\" foreach (@{$_[0]});
}
f(\\AC);
当我运行它时,我得到:
ref=SCALAR
Use of uninitialized value $_ in concatenation (.) or string at /run/media/whatever/constref.pl line 10.
Perl 调试器将AC 打印为一个数组:
13: f(\\AC);
DB<1> x AC
0 \'a\'
1 \'b\'
2 \'c\'
DB<2> c
-
@Dave Cross 对不起,你是对的。我搞砸了我的测试。