13.7 コピーコンストラクタ
自分が作成したクラスのユーザにコピーメソッドを提供したい。または、クラスによってコピーメソッドが提供されていないオブジェクトをコピーしたい。
- 標準モジュールのStorableに含まれているdclone()関数を使用する。
use Storable qw(dclone); use Carp; sub copy { my $self = shift; croak "Can't copy class $self" unless ref $self; my $copy = Storable::dclone($self); return $copy; }