Clone

オブジェクト, リスト, ハッシュのクローンを生成する。

use Close qw(clone);
パッケージをロードして関数をエクスポートする。

my $another = clone($object);
オブジェクトのクローンを生成する。

オブジェクト(クラスインスタンス)を代入した変数は、常にオブジェクト参照を保持するので、

my $another = $object;

を実行しても、参照がコピーされるだけである。これは、ハッシュやリストも同様である。

my %another = %hash;
my @another = @array;

cloneを使用すると、同一の内容を持ったインスタンスの複製を生成(デープコピー)できる。