in reply to need cgi param's help

from perldoc cgi:
Pass the param() method a single argument to fetch the value of the named parameter. If the parameter is multivalued (e.g. from multiple selections in a scrolling list), you can ask to receive an array. Otherwise the method will return a single value.
To fix, simply change your syntax :
my @names = $cgi->param("hisname"); # Use an ARRAY here foreach (@names){ ....} # ---- and HERE.
Or, (based on an alternative interpration of your question), is this syntax you are looking for ?:
$cgi->append(-name=>'foo',-values=>['yet','more','values']);

     "As you get older three things happen. The first is your memory goes, and I can't remember the other two... " - Sir Norman Wisdom