sub Foo::address : lvalue { my $self = shift; $self->{address} }; ... my $f = Foo::new; $f->address = "123 main street"; print $f->address;