我知道 =>
运算符的哈希使用,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/