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"
    }
}
}


Reply via email to