chalowの記事をランダムに取り出して表示
2004-11-30-5
[Chalow]
chalowの記事をランダムに取り出して表示するCGIを作ってみた。
<http://chalow.net/misc/rand.cgi>
仕組みは簡単。
cl.itemlist からランダムに1行取り出して、そのURLへ飛ばすだけ。
rand.cgi
参考:「ファイルから行をランダムに取り出す」 in Perlクックブック
追記041201:
<http://www.oikaze.com/~tamada/Diary/2004-11-30.html#2004-11-30-1>
ということで書き換えました。
旧版は最後の print 文がこうなってました:
<http://chalow.net/misc/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);