gpt4 book ai didi

perl - 双箭头 (=>) 运算符在 Perl 中如何工作?

转载 作者:行者123 更新时间:2023-12-02 10:53:41 24 4
gpt4 key购买 nike

我知道 => 运算符的哈希使用,like this

$ cat array.pl
%ages = ('Martin' => 28,
'Sharon' => 35,
'Rikke' => 29,);

print "Rikke is $ages{Rikke} years old\n";
$ perl array.pl
Rikke is 29 years old
$

我认为这只是初始化哈希的语法,但在 How can I qualify a variable as const/final in Perl? 的答案中,=>已经这样使用了

use Readonly;
Readonly my $infilename => "input_56_12.txt";

=> 到底是什么意思? => 的使用方式还有更多吗?

最佳答案

perl中的=>运算符与逗号基本相同。唯一的区别是,如果左侧有未引用的单词,则将其视为引用的单词。因此,您可以编写 Martin => 28,这与 'Martin', 28 相同。

您可以从任何偶数长度列表中创建哈希,这就是您在示例中所做的全部操作。

您的只读示例通过省略括号来利用子例程参数的 Perl 灵 active 。它相当于Readonly(my $infilename, "input_56_12.txt")。 Readonly 是 Readonly 模块导出的函数,它有两个参数:引用和值。如果您想了解 Readonly 的内部结构,那么它们值得另一个问题。

下面是一个以意想不到的方式将其用作逗号的示例:

$ perl -e 'print hello => "world\n"'
helloworld

关于perl - 双箭头 (=>) 运算符在 Perl 中如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4093895/

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