$ perl -MCGI -e " CGI::ReadParse(); dd( \%in )" ro=row ro=you bo=boat bo=diddly { # tied CGI bo => "boat\0diddly", ro => "row\0you", } #### use Data::Dump qw/ dd /; use CGI; my $q = CGI->new('ro=row;ro=you;bo=boat;bo=diddly'); my %in = map { $_ => [ $q->param($_) ] } $q->param ; dd( \%in ); __END__ { bo => ["boat", "diddly"], ro => ["row", "you"] }