トップ > Perl Tips > Locationヘッダーを使ってランダムリンクを作ろう!


 ■ Locationヘッダーを使ってランダムリンクを作ろう!

基本編:Location ヘッダー

ここでのランダムリンクというのは、CGIを呼び出すたびに、
移動するURLを変えるものです。

<サンプル>


#!/usr/bin/perl

@url = ("http://easycgi.xrea.jp/" , "http://easycgi.xrea.jp/perltips/" , "http://easycgi.xrea.jp/xrea/");

$i = int(rand(++$#url));

print "Location: $url[$i]\n\n";



<解説>
今回は非常にシンプルです。

まず、移動するURLを指定します。
配列変数に代入すればいいです。これはいくつでも増やすことができます。
配列変数についてわからないことがあれば配列変数についてをご覧ください。

そして、乱数を発生させます。
乱数は小数ですので、int で整数にします。
$#urlというのは、URLがいくつリストにあるかというのを示しているのですが、
リストされている数より1少ないものを示しています。
0以上、3未満の乱数を発生させないといけないため、++ で1増やしています。
乱数については乱数 Part1をご覧ください。

最後にLocationヘッダーを使いますが、
$url[$i] というのは、URLのリストのうちの1つをさしています。
$iというのは先ほど発生させた乱数ですので、たとえば $i = 0 であった場合、
配列変数の1番目の要素を示していることになりますので、
http://easycgi.xrea.jp/ に移動することになります。
$i = 1 ならばhttp://easycgi.xrea.jp/perltips/
$i = 2 ならばhttp://easycgi.xrea.jp/xrea/
となります。


実際のサンプルはこちらです。




トラックバック

このエントリーのトラックバックURL:
http://easycgi.xrea.jp/mt-tb.cgi/42