--- Wiggins d'Anconia <[EMAIL PROTECTED]> wrote:
> 
> 
> Denzil Kruse wrote:
> > Hi,
> > 
> > I have a script for a cgi form that covers about
> 20
> > pages, and want to name a subroutine to handle
> each
> > page like this: page1, page2, page3, etc.
> > 
> > Once the script figures out which page it should
> go
> > to, I dont want to have to do this:
> > 
> > if ($page == 1) { &page1() }
> > if ($page == 2) { &page2() }
> > if ($page == 3) { &page3() }
> > .
> > .
> > .
> > 
> > I would like to call the subroutine with one
> > statement, something like this:
> > 
> > $page = $in->param('page');
> > 
> > &page$page()
> > 
> > but the "compiler" doesn't seem to substitute the
> > variable $page before figuring out the name of the
> > subroutine and it gives me an error.  I thought
> about
> > loading the subroutine referencees into an array,
> but
> > run into the same problem.
> > 
> > Is there a way to do this?  Or is there a better
> way
> > for the beginning part of the script to play
> traffic
> > cop and direct it to the right page?
> > 
> 
> Have you considered the CGI::Application module? It
> works essentially as 
> you describe but has a good following, is likely
> better tested, and may 
> provide a little more support structure.
> 
>
http://search.cpan.org/~markstos/CGI-Application-3.31/lib/CGI/Application.pm

I took a quick look at it and looks pretty
interesting. 

But, I fooled around with my above code found out that
if I put some curly brackets in the right place, I
think it works:

$page = $in->param('page');

&{page$page}()

Thanks for the info!




                
__________________________________ 
Do you Yahoo!? 
Yahoo! Small Business - Try our new resources site!
http://smallbusiness.yahoo.com/resources/ 

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to