Common attribute idioms
Complex default values.
- default values are either ...
- non-references (numbers, strings)
- subroutine references
has 'foo' => (
is => 'rw',
isa => 'ArrayRef',
default => sub { [] }
);
- default sub is passed $self
has 'obj_id' => (
is => 'rw',
default => sub { refaddr($_[0]) }
);