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