int foo, bar, baz; int get_foo() { return foo; } int set_foo(int foo) { this.foo = foo; } int get_bar() { return bar; } int set_bar(int bar) { this.bar = bar; } int get_baz() { return baz; } int set_baz(int baz) { this.baz = baz; } #### foreach my $field (qw( foo bar )) { no strict 'refs'; *$field = sub { my $self = shift; $self->{$field} = shift if @_; $self->{$field}; }; }