sub set_all{ my($self, %params) = @_; my %p =(); # construct a new param foreach my $c ($self->columns()){ my $normalize = lc $c; # seems internally always lower case $p{$normlize} = $params{$normalize} if $params{$normalize}; } $self->set(%p); # call the original set }