package Foo; # ... my @fields = qw( eenie meenie minie moe ); make_accessor( $_ ) for @fields; # ... sub make_accessor { my $method = shift; my $sub = sub { # your accessor here; }; my $class = caller; { no strict 'refs'; *{ "$class\::$method" } = $sub; } return; }