Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Late to the party, Re^4: Why CGI::Application?

by wfsp (Abbot)
on Apr 27, 2007 at 10:23 UTC ( #612348=note: print w/ replies, xml ) Need Help??


in reply to Re: Re: Re: Why CGI::Application?
in thread Why CGI::Application?

This is a tad on the late side. :-)

The situation you discuss earlier is one that I'm also facing. I'd be interested in breaking a C::A into one or more C::As.

I've tried to recreate the method you've used but I've hit a snag.

You have

package My::Application::Base; use CGI::Application; our @ISA = qw( CGI::Application ); sub setup{ # Do basic stuff, including run_modes everyone has, like 'redirect +_login' }
Note the reference to run_modes. Later you have
package My::Application::Reports; use My::Application::Base; our @ISA = qw( My::Application::Base ); sub setup{ my $self = shift; $self->runmodes([qw( choose display )]); }
As far as I can tell the run_modes in Base are overwritten by the run_modes in Reports and I get a "No such run mode..." error when reffering to any run_mode in Base.

Did you encounter this?

Also, how would you implement such a scheme as this? Would each C::A have its own instance script?

Update:

fwi, I've post my attempt here


Comment on Late to the party, Re^4: Why CGI::Application?
Select or Download Code
Re: Late to the party, Re^4: Why CGI::Application?
by dragonchild (Archbishop) on May 01, 2007 at 18:22 UTC
    You need to call $self->SUPER::setup() as the first line after my $self = shift;

    My criteria for good software:
    1. Does it work?
    2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://612348]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (10)
As of 2015-07-06 23:05 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (85 votes), past polls