sub new { my $class = shift; return undef if ref $class; my ($first, $second) = @_; my $self = sub { my $var = shift; my ($mode, $newval) = @_; if ($var == 0) { return $mode ? $first = $newval : $first; } elsif ($var == 1) { return $mode ? $second = $newval : $second; } return undef; }; bless $self, $class; return $self; }