use strict; use CGI; use Data::Dumper; my %fields; my $q = new CGI ( 'name=&value=&void=' ); print "got param '$_'\n" for $q->param; $fields{$_} = $q->param($_) for $q->param; print Dumper($q, \%fields); __END__ got param 'name' got param 'value' got param 'void' $VAR1 = bless( { 'void' => [ '' ], '.charset' => 'ISO-8859-1', '.parameters' => [ 'name', 'value', 'void' ], '.fieldnames' => {}, 'value' => [ '' ], 'name' => [ '' ] }, 'CGI' ); $VAR2 = { 'void' => '', 'value' => '', 'name' => '' };