0
ファイルを保存するときに降順ソートをしたいです
何度かいじってみてもうまくいきません
以下のコードです。どなたか教えてください。
#!/usr/bin/perl
use POSIX 'strftime';
use Fcntl ':flock';
# 送信されたデータを受け取る
if ($ENV{'REQUEST_METHOD'} eq "POST") {
read(STDIN, $buffer,
$ENV{'CONTENT_LENGTH'});
}
# データを分割する
@pairs = split(/&/, $buffer);
# 各データをさらに分割して%paramハッシュに入れる
foreach $pair (@pairs) {
($key, $value) = split(/=/, $pair);
# valueが日本語の場合コード化されているので
変換する
$value =~ s/%([a-fA-F0-9][a-fA-F-0-
9])/pack("C", hex($1))/eg;
$param{$key} = $value;
}
# スコアをサーバー上のファイルに書き込む
unless (open(OUT, ">>score.txt")) { # score.txtを追
加書き込みモードで開く
print "Sorry, I couldn't create
score.txt\n";
} else {
# 現在時刻を取得
$now = strftime("%Y/%m/%d %H:%M",
localtime);
flock(OUT, LOCK_EX); # ファイルをロック
# 現在時刻、名前、スコアを書き込む
print OUT
"$now&$param{name}&$param{score}\n";
flock(OUT, LOCK_UN); # ロックを解除
}
close(OUT); # ファイルを閉じる
# 出力されるHTML
print <<END;
Content-type: text/html
<html>
<head><title>あなたの得点は登録されました</title>
</head>
<body>
<h1>あなたの得点は登録されました</h1>
<p>$param{name}さんは$param{score}点です。</p>
</body>
</html>
END