sub name { my $self = shift; # the following is the broken line $self = ref($self) || $self; if (@_) { $self->{Name} = shift; } return $self->{Name}; }