use CGI; my $query = CGI->new; my @names = $query->param; my %hash = map { $_, $query->param( $_ ) } @names; #### my %hash = map { my @vals = $query->param( $_ ); $_, \@vals } @names; #### #!c:/perl/bin/perl.exe -wT use strict; use Data::Dumper; use CGI; my $query = CGI->new; my @names = $query->param; my %hash = map { $_, $query->param( $_ ) } @names; # Clearly broken my %hash2 = map { $_, [$query->param( $_ )] } @names; # works great my %chipmunk = $query->Vars; # Lincoln should have known better! my $q2 = CGI->new; print $query->header, $query->start_html, $query->pre( $query->h1('First Query'), Dumper( $query )), $query->pre( $query->h1('Second Query'), Dumper( $q2 )), $query->pre( $query->h1('Hash'), Dumper( \%hash )), $query->pre( $query->h1('Hash2'), Dumper( \%hash2 )), $query->pre( $query->h1('Chipmunk'), Dumper( \%chipmunk )), $query->end_html;