You have
> foreach my $name ( $cgi->param )
> { print "$name\t" . $cgi->param( $name ) . "\n";
> }
You have to be careful with CGI::param; it returns a scalar for a scalar,
and an arrayref for a list.
May I suggest something like
my %params = $cgi->Vars;
foreach (keys %params)
{
my $param = $params{$_};
if ( ref($param) eq "ARRAY" )
{
print "\n$_\n";
foreach my $val ( @$param )
{
print "\t$val\n"
}
}
elsif ( ref($param) eq "SCALAR" )
{
print "\n$_\t$param\n
}
else
{
print "\nFunny old world: $_\n"
}
}
}