次の C# コードでは:
int[] X = new int[2];
X[0] = 1;
X[1] = 2;
int[] Y = X;
X[1] = 3;
これが実行された後、Y[1] も 3 になります。操作 Y = X はクローンを実行せず、X が指している参照またはポインターを Y に割り当てるためです。
Perl 5 で同じ操作を試みた場合:
my @X = (1, 2);
my @Y = @X;
$X[1] = 3;
C# とは異なり、Y[1] は 3 ではなく 2 です。これは、Perl が @Y = @X 操作の後に配列のコピーを作成することを示しています。
それで、私の質問は - 両方が同じデータを指すように、別の Perl 配列の参照で Perl 5 配列を割り当てまたは初期化する方法はありますか? 私はすでに参照について知っており、配列への参照を逆参照しようとしましたが、それもコピーを作成します。また、配列への参照を使用すると、私がやろうとしていることのほとんどが解決されることもわかっているので、参照の操作方法を示す回答は必要ありません。