Darin McBride <suppressed> wrote on Wed, Apr 16, 2008 at 10:38:19AM -0600:
> My suggestion is that AUTOLOAD is not, and never has been, a runmode. No one
> should be able to load http://myapp.net/?rm=AUTOLOAD. I've not tested to see
> if that actually calls the AUTOLOAD runmode or not, but it shouldn't. (I
> suspect it does.)
I agree that AUTOLOAD shouldn't be treated as a runmode. And yes, loading
http://myapp.net/?rm=AUTOLOAD does call the AUTOLOAD runmode. The sub gets
called with an undefined value for its second argument.
> Instead, if I want the fallback, I should not be setting a run_mode, I should
> be setting a fallback:
>
> $self->fallback_mode('my_catchall_sub');
>
> This is something that should be callable only in cases where the fallback is
> required.
I think this is an excellent solution. Thanks for the patch. I did have one
problem with it, though. I got a syntax error on this line (in Perl 5.8.8):
return $self->{__FALLBACK_MODE} || {$self->run_modes()}{AUTOLOAD};
Just to get it running, I changed it to this (though I'm guessing there's a
slicker way):
if ($self->{__FALLBACK_MODE}) {
return $self->{__FALLBACK_MODE};
}
else {
my %rmodes = ($self->run_modes());
return $rmodes{AUTOLOAD};
}
##### CGI::Application community mailing list ################
## ##
## To unsubscribe, or change your message delivery options, ##
## visit: http://www.erlbaum.net/mailman/listinfo/cgiapp ##
## ##
## Web archive: http://www.erlbaum.net/pipermail/cgiapp/ ##
## Wiki: http://cgiapp.erlbaum.net/ ##
## ##
################################################################
Mail converted by mhonarc 2.6.15
This archive provided courtesy of JSW4.NET, Internet Hosting Services for Small Business.