注文データをファイルに保存するCGI
#!/usr/local/bin/perl

require 'cgi-lib.pl';
require 'jcode.pl';

#データ取得
&ReadParse;

#クッキーからデータ取得
&getCookie;

#買い物かごの商品数を$nに保存
$n=$COOKIE{'n'};

#クッキーから読み込んだ買い物かごの商品を配列@data1,@data2に保存
for($i=1;$i<=$n;$i++)
{
($data1[$i],$data2[$i])=split(/::/,$COOKIE{"item$i"});
}

#ファイルへ注文データを保存
open(OUT,">>order.txt");

print OUT "名前:$in{'name'}\n";
print OUT "住所:$in{'address'}\n";
print OUT "TEL:$in{'tel'}\n";

for($i=1;$i<=$n;$i++)
{
print OUT "商品:$data1[$i] = $data2[$i]個\n";
}

print OUT "\n\n";

close(OUT);

#クッキー書き込み(有効期限を過去に設定して削除)
for($i=1;$i<=$n;$i++){

print "Set-Cookie: ";
print "item$i=0; ";
print "expires=Thu, 01-Jan-1970 00:00:00 GMT\n";
}

print "Set-Cookie: ";
print "n=0; ";
print "expires=Thu, 01-Jan-1970 00:00:00 GMT\n";

#注文のお礼HTML作成
print < Content-type: text/html

<html><body>
商品のご注文有難うございました
<br><a href="cart.cgi">商品ページへ戻る
<br>クッキー:$ENV{'HTTP_COOKIE'}
<br>受け取ったデータ:$shohin $kazu
</body></html>
A


#
# Cookieの値を読み出すサブルーチン
#
sub getCookie {
foreach $xx (split(/; /, $ENV{'HTTP_COOKIE'})) {
($name, $value) = split(/=/, $xx);
$COOKIE{$name} = $value;
}
}
このプログラムはファイルへのデータの保存の回を参照。