如何使对象成为数组引用?

San*_*ing 2 arrays perl reference

我有这个功能

array_diff(\@DNs, \@prev_DNs);
Run Code Online (Sandbox Code Playgroud)

必须将数组引用作为参数.

问题是我从中得到prev_DNs了一个对象

my $prev_DNs = YAML::Syck::LoadFile('temp-previous_DNs.yaml');
print Dumper $prev_DNs;
Run Code Online (Sandbox Code Playgroud)

哪个输出

$VAR1 = [
          'abcdef'
        ];
Run Code Online (Sandbox Code Playgroud)

我试过了

array_diff(\@DNs, \$prev_DNs);
Run Code Online (Sandbox Code Playgroud)

但那没用.

有关如何传递$prev_DNs数组引用的任何建议吗?

Wes*_*ker 10

实际上它已经是一个数组引用.所以你实际上通过在前面加上另一个\来传递对引用的引用.你只需要传递它$prev_DNs,它应该工作.


Dav*_*man 5

根据你的Data :: Dumper输出,$prev_DNs是一个数组引用,所以只需使用

array_diff(\@DNs, $prev_DNs);
Run Code Online (Sandbox Code Playgroud)

运用

array_diff(\@DNs, \$prev_DNs);
Run Code Online (Sandbox Code Playgroud)

传递对引用的引用.