Perlのハッシュリファレンスの前の+はどういう意味?
うーん。わからない。テストは通るし、+をつけると何がどうちがくなるのでしょうか。教えてーー。
use strict;
use warnings;
use Test::More tests => 2;
my $hash1 = +{aaa => 'bbb'};
my $hash2 = {aaa => 'bbb'};
is ($hash1->{aaa}, "bbb");
is ($hash2->{aaa}, "bbb");
perldocに答えがありました。
ここのリファレンスを作るの3に例が載っていて。
「新しいハッシュを作って、それへのリファレンスを返す関数が欲しければ」こうするんですね。 そのための+だったのか。
sub { + {} }
分からないことがあったら、perldocという癖をつけよう。
ただ、これの使いどころというか。そういうところは、答えがないときが多いので。
ソースを眺めて出てきたら注意深く見てみようと思います。