Name1=Your+Name&Name2=Data&Name3=YES
eval '/usr/local/www/cgi-bin/cgiparse -form'とするだけです。ここで注意するのは、CGIスクリプトからcgiparseを呼ぶ場 合、コマンドのフルパス名を記述するか、PATH変数あらかじめ指定しておく必 要があります。
<FORM METHOD=POST ACTION="/cgi-bin/myscript.cgi">uncgi を使用してデータを取り出す場合、実行するCGIスクリプトの前にパス 指定で置きます(ちょうど親ディレクトリのように見えます)。cgiparseのよう に、CGIスクリプトの中に記述する必要がないので非常に便利です。
<FORM METHOD=POST ACTION="/cgi-bin/uncgi/myscript.cgi">
require 'cgi-lib.pl'そして、データを読み込む場合、
&ReadParse(*data);とします。そうすると、data配列に入れられ、 $data{theName}形式で取り出すことができます。
#!/usr/bin/perl
print "Content-type: text/html\n\n";
require 'cgi-lib.pl';
&ReadParse(*data);
print <<EOD
<HEAD>
<TITLE>Results</TITLE>
</HEAD>
<BODY>
<H2>Results</H2>
EOD
print "<B>$data{'theName1'}</B> is first data.<P>";
print "</BODY>"
sub read_input
{
    local ($buffer, @pairs, $pair, $name, $value, %FORM);
    # Read in text
    $ENV{'REQUEST_METHOD'} =~ tr/a-z/A-Z/;
    if ($ENV{'REQUEST_METHOD'} eq "POST")
    {
	read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
    } else
    {
	$buffer = $ENV{'QUERY_STRING'};
    }
    @pairs = split(/&/, $buffer);
    foreach $pair (@pairs)
    {
	($name, $value) = split(/=/, $pair);
	$value =~ tr/+/ /;
	$value =~ s/%(..)/pack("C", hex($1))/eg;
	$FORM{$name} = $value;
    }
    %FORM;
}
入力処理のときに
%form = &read_input;
とすれば、$form{'theName'}で取り出すことができます。
       
       http://sunsite.unc.edu/boutell/cgic/cgic102.tar.Z
  
       
       http://www.boutell.com/cgic/cgic102.tar.Z