sub run { my $self = shift; my $q = $self->query(); my $rm_param = $self->mode_param() || croak("No rm_param() specified"); my $rm; # Support call-back instead of CGI mode param if (ref($rm_param) eq 'CODE') { # Get run-mode from subref $rm = $rm_param->($self); } else { # Get run-mode from CGI param $rm = $q->param($rm_param); # PodMaster: FYI - this is scalar context } # If $rm undefined, use default (start) mode my $def_rm = $self->start_mode() || ''; $rm = $def_rm unless (defined($rm) && length($rm)); #...