sub foo { my $self = shift; return @_ ? $_ = shift : $_ for $self->{_foo}; }