> All runmodes including start rm into ./runmodes folder:
> Error executing class callback in prerun stage: could not evaluate
> runmode in file ./runmodes/start.pl: Bad file descriptor at
> C:/usr/local/site/lib/CGI/Application/Plugin/AutoRunmode.pm line 220.


I have seen that error message when the runmode file had syntax errors,
but you say they pass "perl -cw".
Could you send me "start.pl" ?

Start runmode in main app module and all the rest in ./runmodes folder:
> Error executing class callback in prerun stage: Insecure dependency in
> require while running with -T switch at
> C:/usr/local/site/lib/CGI/Application/Plugin/AutoRunmode/FileDelegate.pm
> line 21.


Ouch.
Taint checking will break the run-time evaluation the module does.
I have to think about how to solve that (but there is no good way to untaint
the file,
as it can obviously contain anything).


Though I cannot reproduce it at the moment, the error message seemed to
> depend whether I called $self as '$self = shift' or '$self = @_' - I've
> never seen $self called by the latter expression before,  though it
> shows that for setup() in the documentation.


$self = @_; is bogus.
It has to be $self = shift; or ($self) = @_; (with brackets).
I could not find that particular typo in the module documentation.

A "broken" $self could well explain the error message.


Also the method themselves
> seem to require 'my ($app, $delegate) = @_', though $delegate isn't used
> again anywhere.


the $delegate is optional.
my ($app) = @_;
my ($app, $delegate) = @_;
my ($self) = @_;
should all work.

Sorry for all the trouble you are having,
I hope you give it another try before switching to "a more fully thought-out
server page system like Mason"

;-)

Thilo

Reply via email to