我知道哈希使用的=>
运营商, 像这样
$ 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
$
我以为这只是语法来初始化哈希值,但在回答我怎么能在Perl资格的变量为const /决赛? , =>
已使用这样
use Readonly;
Readonly my $infilename => "input_56_12.txt";
究竟是什么=>
是什么意思? 是否有更多的方法,使=>
可以用吗?
的=>
运算符在Perl是基本相同逗号。 唯一的区别是,如果有一个在左边带引号的词,它就像一个引词处理。 所以,你可以写Martin => 28
这将是一样的'Martin', 28
。
您可以从任何偶数长名单,这是所有你在你的例子做作出的哈希值。
你只读例如通过省略括号利用Perl的子程序带参数的灵活性。 它等同于Readonly(my $infilename, "input_56_12.txt")
只读是由只读模块采用两个参数导出的函数:参考,和一个值。 如果你想了解他们只读的内部是值得的另一个问题。
下面是使用它作为以意想不到的方式逗号的例子:
$ perl -e 'print hello => "world\n"'
helloworld
从perlop得到 :
的=>
运算符是除它导致如果它以字母开头或下划线且仅由字母,数字和下划线是由它的左操作数被解释为一个字符串逗号的同义词。
这包括那些可能被解释为运算符,常量,单号v-字符串或函数调用操作数。 如果对这种行为的疑问,左操作数可以明确地引用。
否则,=>操作员的行为完全逗号运算符或list参数分离器,根据上下文。
例如:
use constant FOO => "something"; my %h = ( FOO => 23 );
相当于:
my %h = ("FOO", 23);
它不是:
my %h = ("something", 23);
的=>
运算符是在记录键和值在散列,并且在列出了其他成对的元件之间的对应关系有帮助的 。
%hash = ( $key => $value ); login( $username => $password );
从PBP:
我发现从Perl的最佳实践 肥约逗号一些好的信息=>
我认为这应该是很高兴在这里提过了。
这是更好地保留脂肪逗号专门为以下几点: -
构建一个哈希时使用它:
my %h = ( FOO => 23 );
或者当传递命名参数的子程序即,
$text = format_text({FOO => 23, BAR => 30});
或创建一个常数时:
Readonly my $FOO => "23";
欲了解更多详情请参阅第4章:Perl的最佳实践的数值和表达式(FAT逗号)部分。