/ / たつをの ChangeLog
/
Yahoo!ブックマークに登録 あとで読む

chalowの記事をランダムに取り出して表示するCGIを作ってみた。
<http://chalow.net/rand.cgi>

仕組みは簡単。
cl.itemlist からランダムに1行取り出して、そのURLへ飛ばすだけ。

rand.cgi

#!/usr/bin/env perl
srand;
open(F, "cl.itemlist") or die;
rand($.) < 1 && ($line = $_) while <F>;
close F;
my ($url) = ($line =~ /href="(.+?)"/);
print qq(Location: $url\n\n);


参考:「ファイルから行をランダムに取り出す」 in Perlクックブック

追記041201:
<http://www.oikaze.com/~tamada/Diary/2004-11-30.html#2004-11-30-1>

meta で飛ばすより,Location ヘッダで飛ばした方がいいんじゃないかな.

そうですね、それの方が筋が良いですね。相対パスも行けますし。
ということで書き換えました。
旧版は最後の print 文がこうなってました:

print qq(Content-type: text/html;\n
<html><head><META HTTP-EQUIV="Refresh" 
CONTENT="0;URL=$url"></head></html>\n);

一言メッセージ送信: 私宛の一言メッセージをこっそり送信できます(非公開)
最近トラックバックを頂いた記事