my $result1 = $Person->name('Homer'); my $result2 = $result1->job('safety inspector'); my $result3 = $result2->wife('Marge'); $result3->fav_food('Duff'); #### sub name { my ($self, $value) = @_; if (defined $value) { # if a value is given $self->{name} = $value; # set the value return $self; # return the original object } return $self->{name}; # else return the name }