cgiapp is object-oriented, but you don't have to worry about that too
much with what you're doing. The main thing to focus on is that
instead of testing whether $input{action} eq 'some_action', you
instead have a sub called 'some_action'.So your if/else blocks become subs, and instead the 'action' input param being set to 'some_action' set the 'rm' cgi query param to 'some_action' instead. All the rest of your code remains the same apart from this. See http://search.cpan.org/~markstos/CGI-Application-4.06/lib/CGI/Application.pm Stew On 14/02/2008, Lou Hernsen <[EMAIL PROTECTED]> wrote: > I sorta understand....and then not.. > > The last program I wrote was 10K+ line long where I used only subroutines > all in one cgi.... > I was told I was nuts for doing that... now I am rewritting everything over > again... and using some > new things I have learned about.... I will google some of the words you used > .. and see what i get. > > Is what your talking about called "object oriented"? > > thanks for the help... > still lost but looking :) > Lou > > > ----- Original Message ----- > From: "Stewart Heckenberg" <[EMAIL PROTECTED]> > To: "CGI Application" <[email protected]> > Sent: Wednesday, February 13, 2008 7:29 PM > Subject: Re: [cgiapp] Program format (this is the way I write my > code -help?) > > > > Hi Lou, > > > > Actually you're close, but not close enough :) > > > > cgiapp actually allows you to get rid of all your if/else logic and > > instead use what are called "run modes", which in terms of your games > > are all the action/packets, e.g. instead of: > > > > if ($Input{Action} eq "Log In") > > > > you would use: > > > > sub login {... > > > > and to trigger that sub to run, you set a query parameter called "rm" > > to be "login", e.g. foo.cgi?rm=login > > > > That's how cgiapp works -- instead of if/else blocks for your logic, > > you use subs, and to execute a particular sub you merely set the rm > > param to be the name of that runmode/sub. Have a look at the cgiapp > > documentation for some examples. > > > > Hope this helps :) > > > > Kind regards, > > Stew > > > > On 14/02/2008, Lou Hernsen <[EMAIL PROTECTED]> wrote: > > > Hallo > > > I am writing an online game. I have a main .cgi and am using packages > which > > > are "required" as needed. > > > My .cgi is one long if-elsif-else all based on what action you make in > the > > > game. I do it this way so I can complete one packet at a time to do a > > > certain thing. > > > All files are read in the .cgi and vars passes to packages as > needed..... am > > > I even close in my method? > > > > > > >>>>>Mind you, this is a hobby to me.. all self taught....<<<<<<< > > > > > > ANY suggestion for books on program format would be helpfull.. thanks > > > comments welcome.. try not to grind me into the dust, please LOL > > > thanks > > > Lou > > > > > > here is an example. > > > > > > if ($Input{Action} eq "Log In") > > > { > > > $Pm{Status}=Login::LogIn("$Input{Name}","$Input{PW}"); > > > exit; > > > } > > > elsif ($Input{Action} eq "New Player") > > > { > > > Login::NewPlayer(); > > > exit; > > > } > > > elsif ($Input{Action} eq "Create Player") > > > { > > > Login::CreatePlayer("$Input{Name}","$Input{PW},"$Input{Gender}"; > > > exit; > > > } > > > elsif ($Input{Action} eq "EmailLogin") > > > { > > > $Pm{Status}=Login::EmailLogin("$Input{Name}","$Input{SN}"); > > > exit; > > > } > > > > > > > > > ##### 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/ ## > > > ## ## > > > ################################################################ > > > > > > > > > > ##### 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/ ## > > ## ## > > ################################################################ > > > > > > > > -- > > No virus found in this incoming message. > > Checked by AVG Free Edition. > > Version: 7.5.516 / Virus Database: 269.20.4/1275 - Release Date: 2/12/08 > 3:20 PM > > > > > > > ##### 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/ ## > ## ## > ################################################################ > > ##### 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/ ## ## ## ################################################################
