07/05/16 18:34:12 AoXOiB7X0
### 設定
# 更新する掲示板一覧のファイル名・パス
@file = ('bbstable.html', 'bbsmenu.html');
#@file = ('faq.html', 'map.html', 'adv.html');
# バックアップの拡張子
$old = 'old';
### GETなら全て初期画面表示
if ( $ENV{'REQUEST_METHOD'} eq 'GET'){
print <<"owari";
Content-Type: text/html; charset=Shift_JIS
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title>掲示板一覧の更新</title>
</head>
<body>
<h1>掲示板一覧の更新</h1>
<p>指定された掲示板の移転を検出して、掲示板一覧を更新します。<br>
移転した板の<b>移転前の</b>URLを、1行に1つずつ書いてください。</p>
<p>対象ファイル:
owari
foreach ( @file ) { print " $_"}
print <<"owari";
</p>
<form method="POST" action="$ENV{'SCRIPT_NAME'}">
<textarea name="ita" cols="50" rows="20"></textarea><br>
<input type="submit" value="送信">
</form>
</body>
</html>
owari
exit;
}
print "Content-Type: text/plain; charset=Shift_JIS\n\n";
### 入力情報をもらう
# POSTだけ。GETは全て初期画面だから
$ENV{'CONTENT_LENGTH'} > 2048 and &end('でかい');
read(STDIN, $query, $ENV{'CONTENT_LENGTH'});
# デコ
foreach ( split(/&/, $query) ) {
my ($name, $value) = split(/=/);
$value =~ tr/+//d;
$value =~ s/%([0-9a-fA-F][0-9a-fA-F])/pack("C", hex($1))/eg;
$FORM{$name} = $value;
}
# 無い
$FORM{'ita'} or &end('入力して');