無名スカラーのリファレンス
前にこの記事で無名スカラーのリファレンスを取得する方法を書いたら、id:fbisさんがブクマコメントで
と書いていたんですが、これに関してちょっと。my $anon_scalar_ref = \q{anonymous};
じゃだめなのかな?
結論から言うと、id:fbisさんの示した例ではダメです。というか、時と場合にもよるけど、ダメな場合があります。
my $anon_scalar_ref = \do{$anon_scalar = 'bar'}; my $const_ref = \q{foo}; $$anon_scalar_ref = 'fuga'; $$const_ref = 'hoge';
ようはこういう場合。あとで代入したいときに、無名スカラーへのリファレンスは代入できるんですが、定数へのリファレンスは代入不可能なんですね。こういう理由があるので、先のエントリで書いたような手法が必要なわけです。