Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?

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?


fwi, I've post my attempt here

Replies are listed 'Best First'.
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?

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

How do I use this?Last hourOther CB clients
Other Users?
Others chilling in the Monastery: (4)
As of 2023-12-11 06:54 GMT
Find Nodes?
    Voting Booth?
    What's your preferred 'use VERSION' for new CPAN modules in 2023?

    Results (41 votes). Check out past polls.