sub maybe_set_param {
my ( $self, $param, $default, $value ) = @_;
$self->session->param( $param => defined $value ? $value : $default );
}
####
$self->maybe_set_param( page => $post{ page }, 1 );
####
sub maybe_set_param {
my ( $self, $param, $default ) = @_;
my $value = $self->post->{ $param };
$self->session->param( $param => defined $value ? $value : $default );
}
# ...
$self->maybe_set_param( page => 1 );
####
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 );
}
}
####
$self->maybe_set_param( page => 1, foo => 15, bar => -1 );