Arrays 可以在不首先声明变量的情况下进行引用吗?

Arrays 可以在不首先声明变量的情况下进行引用吗?,arrays,perl,hash,reference,perl-data-structures,Arrays,Perl,Hash,Reference,Perl Data Structures,我有这个代码 my @new = keys %h1; my @old = keys %h2; function(\@new, \@old); 但是不需要先声明变量就可以完成吗 函数必须将其参数作为引用 发件人: 可以创建对匿名数组的引用 可以使用方括号创建: $arrayref=[1,2,a,b,c'] 输出: $VAR1 = [ 'key2', 'key1' ]; $VAR1 = [ 'key4',

我有这个代码

my @new = keys %h1;
my @old = keys %h2;

function(\@new, \@old);
但是不需要先声明变量就可以完成吗

函数
必须将其参数作为引用

发件人:

可以创建对匿名数组的引用 可以使用方括号创建:

$arrayref=[1,2,a,b,c']

输出:

$VAR1 = [
          'key2',
          'key1'
        ];
$VAR1 = [
          'key4',
          'key3'
        ];

因为你不能在不知道该尝试什么的情况下真正“尝试”它?她至少可以尝试用RHS上的表达式替换@new和@old。然后,如果perl抱怨,她可能会问为什么以及如何预防。(1)谁说她没有尝试过?如果有那么简单的话,是的,我会和你在一起,但事实并非如此。(2) 就我个人而言,当我发现自己在尝试随机组合语法,希望其中一个能起作用时,我已经迷路了,可能应该早点寻求帮助。(3) 我怀疑她(或任何有工作要做的人)会关心为什么
函数(\keys(%h1),\keys(%h2))
不起作用——只是它不起作用。她的目标仍然很明确,没有被无数无用的尝试所折磨的语法弄糊涂。(4) 她提出了一个明确的问题,这个问题对谷歌来说并不容易。赵:我对她投赞成票,在大多数问题上我同意你的意见。尽管如此,如果一个人寻求帮助,最好表明他已经尝试过了什么。除此之外,最好的帮助是帮助某人在将来帮助他或她自己。
use strict;
use Data::Dumper;

my %test = (key1 => "value",key2 => "value2");
my %test2 = (key3 => "value3",key4 => "value4");

test_sub([keys %test], [keys %test2]);

sub test_sub{
 my $ref_arr = shift;
 my $ref_arr2 = shift;
 print Dumper($ref_arr);
 print Dumper($ref_arr2);
}
$VAR1 = [
          'key2',
          'key1'
        ];
$VAR1 = [
          'key4',
          'key3'
        ];