$text =~ s/(cat|tomatoes)/ ${{ qw<tomatoes cat cat tomatoes> }}{$1} /ge;
${{ qw<tomatoes cat cat tomatoes> }}{$1}
を{ qw<tomatoes cat cat tomatoes> }->{$1}
に置き換えることはできません。なぜですか?なぜ2つの `{`がここに必要ですか?
5 @array = qw<a b c d>;
6 $ref = \@array;
7 @{$ref} = qw<1 2 3 4>;
8 #@$ref = qw<1 2 3 4>;//also works
9 print "@array";
UPDATEは、だから、あいまいさが生じたとき{}
のみが必要とされ、{}
も${}
どちらも参照解除に必要であることを示し、そして唯一のスカラーコンテキストで$
。
@new_perl、私は私の答えに追加しました。 – ikegami
私は上記について疑問に思っているものを更新しました。私は結論を最終的に確認する必要があります。 –
@new_perl、 "$スカラーコンテキストのみ"は間違っています。 [Dereferencing Syntax](http://www.perlmonks.org/?node_id=383504#deref_syntax)を参照してください。 – ikegami