3 - Class::Accessor::Chained package User; use base qw( Class::Accessor::Chained ); __PACKAGE__->mk_accessors(qw( first surname )); package main; my $user = User->new ->first("Linus") ->surname("Torvalds"); print $user->surname; # prints "Torvalds"