I次のコードを持っている:なぜ// =(defined-or)は配列に対してスカラーと同じように機能しないのですか?
$var //= 1;
@arr //= qw/ 1 2 3 /;
をしかし、私はエラーが出ます:
Can't modify array dereference in defined or assignment (//=) at ...
でもこの@arr ||= qw/ 1 2 3 /;
が動作しません。
Can't modify array dereference in logical or assignment (||=) at ...
をしかし、これは期待通りに動作します:
@arr = @arr || qw/ 1 2 3 /;
print "@arr"; # 1 2 3
配列とハッシュ変数は決して定義できません。空のみですが、エラーとは関係ありません。 – ikegami