[Pdx-pm] standard for copy constructors in Moose?
Paul Liebert
paull at peak.org
Tue Apr 26 17:56:07 PDT 2011
This is like the third time I'm having to write a copy constructor so
laziness got the best of me. Comments? Critiques? Pointers to std
Moosian ways to do this etc.
It does shallow copy on unblessed references and pushes heavier lifting
off to like-named constructors for member objects.
Thanks in advance -Paul
sub copy {
my( $self ) = @_;
my @kv_pairs =
map{ $_, blessed( $self->$_ ) ? $self->$_->copy : $self->$_ }
map{ $_->name }
grep{ defined $_->init_arg }
$self->meta->get_all_attributes;
return $self->new( @kv_pairs );
}
More information about the Pdx-pm-list
mailing list