複雑なデータ構造のコピーにはStorable::dclone()やClone::clone()がよく使われてきた。しかし,これらのクローンポリシーには疑問がある。そこで,新しいクローンモジュールを書いてみた。 Data::Clone - search.cpan.org Data::Clone - github.org さて,まずStorableのポリシーはおおむね以下の通り: リファレンスはすべて深いコピー(deep copy) スカラー値に対しては,Perlレベルでの代入に等しい操作を行い,マジックは無視する オブジェクトに対しては,フックが定義されていればそれを使い,未定義であればその他のリファレンスと同じように扱う 次に,Cloneのポリシーはおおむね以下の通り: リファレンスはすべて深いコピー スカラー値に対しては,マジックも含めて可能な限りコピーする オブジェクトもその他のリファ