package some_package; ... { my %simple_data = ( 'name' => 1, 'age' => 1, ... } sub AUTOLOAD { my $self = shift; (my $method) = $AUTOLOAD) =~ s/.*:://; return if $method eq 'DESTROY'; if ( exists $simple_data{$method} ) { if ( defined $_[0] ) { $self->{$method} = $_[0]; } return $self->{$method}; } } }