gpt4 book ai didi

perl - Perl 中引用的目的是什么?

转载 作者:行者123 更新时间:2023-12-05 08:24:09 27 4
gpt4 key购买 nike

我是 Perl 的新手;这是我关于该主题的第二堂课。

我理解如何在 Perl 中使用引用(在基本级别),但我不理解为什么。这是一个例子,介绍了教科书中的引用资料,以及我添加的评论。

$array_ref = ["val1", "val2", "val3"]; #create an array reference
print("$$array_ref[1]\n"); #immediately dereference it to print the second element

为什么要使用引用而不是写:

@array_name = ("val1", "val2", "val3"); #create an array
print("$array_name[1]\n"); #print the second element

如果在这种情况下使用引用没有任何优势,您能否提供一个示例,说明它会有所作为?

最佳答案

你不会在那里使用引用。

数组和散列的值只能是标量,因此您可以使用引用将数组或散列存储到其中一个中。

push @a, \@b;

只能将标量列表传递给子例程,因此您可以使用引用将数组或散列传递给其中一个。

f(\@a, \@b);

子例程只能返回标量列表,因此您可以使用引用来返回数组或散列。

return ( \@a, \@b );

IO 对象和(直到最近)regex 对象不能存储在变量中的变量中。那里使用了引用。

open(my $fh, '<', $0) or die $!;
print(ref($fh), "\n");

等等

关于perl - Perl 中引用的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21352651/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com