Perl のコンテキストを理解しようとしていて、岩につまずきました。
コードを考えると;
#!/usr/bin/perl
my $b = (33,22,11);
print "$b\n";
my $b = () = (33,22,11);
print "$b\n";
my @b = (33,22,11);
print "@b\n";
my @b = () = (33,22,11);
print "@b\n";
結果は次のとおりです (最後の行は空白です)。
11
3
33 22 11
<>
2 番目の出力ではリストの長さが返されたので、スカラー コンテキスト内の配列はその長さに評価されるため、どこかで配列が生成されたと想定していました。しかし、第 4 版はその仮定を裏切っているようです。印刷されることを期待していまし'33 22 11'
たが、代わりに何も得られませんでした。ここで何が起こっているのですか?