鈍足ランナーのIT日記

走るのが好きな5流のITエンジニアのブログ。

趣味の範囲は広いけど、どれも中途半端なクソブロガー楽しめるWebアプリを作ってあっと言わせたい。サーバーサイドPerl(Mojolicious)、クライアントサイドVue.js。Arduinoにも触手を伸ばす予定。

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に答えがありました。

perldoc perlref

ここのリファレンスを作るの3に例が載っていて。

「新しいハッシュを作って、それへのリファレンスを返す関数が欲しければ」こうするんですね。 そのための+だったのか。

sub { + {} }

分からないことがあったら、perldocという癖をつけよう。

ただ、これの使いどころというか。そういうところは、答えがないときが多いので。

ソースを眺めて出てきたら注意深く見てみようと思います。