package Foo; use strict; use warnings; use parent 'Class::Accessor::Fast'; BEGIN { __PACKAGE__->mk_accessors(qw/ bar qux /); } sub new { my $class = shift; return $class->SUPER::new(); } 1; # return true #### perl -MFoo -E' my $foo = Foo->new; $foo->bar("baz"); $foo->qux( $foo->bar ); say $foo->bar; say $foo->qux; ' #### baz baz