sub _put_list ($@) { my $target = shift; my $self = shift ; push @{$self->{$target}}, @_; return scalar(@_); } eval "sub $_ { return _put_list($_ => \@_);}" for qw{column table}; #### sub column { return _put_list(column => @_); }