http://qs1969.pair.com?node_id=290029


in reply to http://www.url.com/cgi-bin/file.pl?node=how

Hi,
Your first code snippet contains
my $node; if ($node eq...
Is this a typo? $node will always eq undef in this case. Did you mean
my $node = param('node')
You could do it something like this: (untested code):
#!/usr/bin/perl use CGI; my $node = param('node'); my %lookup_table = (how => 'how_sub', foo => 'foo_sub'); if ($lookup_table{$node} ne '') { &{$lookup_table{$node}}; } else { print "Unknown sub called\n"; } sub how_sub {} sub foo_sub {}
The %lookup_table and if routine makes sure users cant choose any old sub to run,
just the ones you define in the lookup_table.

Smitz