> すみません、kmです。本の途中にCGI.pmというのが出てきたので、使ってみようと思います。
>
> さっきまで、printでhtmlを書けばできると思っていました・・・・
printで何も問題なく出来ます。
アマチュアがプロ(仕事)のお手伝いはできませんので、これが最後です。
10分で書いたので細かいことは無視してサンプルを見てください。
------------------------------------------------
#!/usr/bin/perl
# 項目名
@item =(
'お名前',
'郵便番号',
'住所',
'TEL',
'E-Mail',
'性別',
'生年月日',
'○○',
'XXXXXX',
'パスワード'
);
# CSVファイル名
$csvfile = 'test.csv';
# 検索用データ(とりあえず固定で)
$SeekData = "2011/5/10 14:21:00";
&data_read("$SeekData");
sub data_read{
# CSVファイル読み込み
open(IN,"$csvfile") || die "Cannot file open!" . $csvfile;
my @data = <IN>;
close(IN);
chomp @data;
# 行数取得(0から)
my $line = $#data;
# ヘッダ出力
&header("テスト");
# タイトル行出力
print <<"_EOM_";
<table cellspacing="2" cellpadding="3" border="1">
<tr>
<th>No.</th>
_EOM_
foreach $i (0 .. $#item){
print "<th style=\"text-align:center;\">【$item[$i]】</th>\n";
}
print "</tr>\n";
$pcount = 1;
# 各行を読み出し
for ($count=0; $count<=$line; $count++){
my($date,$name,$todouhuken,$adress,$tel,$email,$gender,$birth,$question,$ans,$pay) = split(/,/,"$data[$count]");
# データ一致するか?(検索用データ&読み込んだデータ)
if($SeekData eq $date){
print <<"_EOM_";
<tr>
<td style="text-align:right;">$pcount</td>
<td>$name</td>
<td>$todouhuken</td>
<td>$adress</td>
<td>$tel</td>
<td>$email</td>
<td>$gender</td>
<td>$birth</td>
<td>$question</td>
<td>$ans</td>
<td>$pay</td>
</tr>
_EOM_
$pcount++;
}
}
print "</table>\n";
&footer;
}
sub header{
my $title = $_[0];
print "Content-type: text/html\n\n";
print <<"_EOM_";
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head>
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=Shift_JIS">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<title>$title</title>
</head>
<body>
_EOM_
}
sub footer{
print <<"_EOM_";
</body>
</html>
_EOM_
}