get_set_sub.txt

### foo() (set or get)
BEGIN { #=====================================================================
    no strict 'refs';
    for my $sub (qw/forename surname age city zip/) {
        *$sub = sub {
                    my $self = shift;
                    $self->{$sub} = shift if(@_);
                    return $self->{$sub};
                };
    }
}


# foo_get()
# foo_set()
BEGIN { #=====================================================================
    no strict 'refs';
    for my $sub (qw/forename surname age city zip/) {
        *{"${sub}_get"} = sub { shift->{$sub} };
        *{"${sub}_set"} = sub {
                              my $self = shift;
                              $self->{$sub} = shift if(@_);
                              $self->{$sub};
                          };

    }
}

# ... or just use Class::Accessor, or even better: Moose