sub maybe_set_param { my $self = shift; my %defaults = @_; my $post = $self->post; while ( my ( $param, $default ) = each %defaults ) { my $value = $post->{ $param }; $self->session->param( $param => defined $value ? $value : $default ); } }