sub cards { # usage: $caller->cards([$cards]) # $cards is an anonymous array of Card types # return: cards in pile my $self = shift; if (@_) { $self->{cards} = shift; $self->num(int @{$self->{cards}}); # From data dumping, it seems that I need this line for(@{$self->cards()}) { $_->where($self) } } return $self->{cards}; }