※このサンプルの解説は、「CGI(Perl)の解説」をすべて読み終えてる方を前提としています。
■ 携帯電話のキャリア別ジャンプ
前回「携帯電話のキャリア別を取得」を解説しましたので、今回はそれを少しアレンジして「携帯電話のキャリア別ジャンプ」を作成してみましょう。
今回の変更点は、「Javascriptサンプル」などでも解説した「ページの自動ジャンプ」をヒアドキュメントで組み込むことです。
この処理を理解するには当然ですが、「HTML」の知識が必要になります。
解からない方は「HTMLの解説」で勉強してくださいね。
- 【 解 説 】
-
まず、前回の「携帯電話のキャリア別を取得」でキャリア別の取得はできるようになりましたから、それを使用してその変数をそのままファイル名に使用します。
前回の「$str0」を使用してそれと同じ「HTMLの」ページを作っていればそのページのファイル名は次のような記述で表すことができます。
$jmpurl = "$str0.html";「HTMLサンプル」で解説した「ページの自動ジャンプ」を次のようにヒアドキュメントで記述する方法もありますが、「meta」タグが携帯電話では認識できませんでした。
print << "END_OF_DOC"; <HTML> <HEAD> <META http-equiv="refresh" content="0; url=$jmpurl"> <title>urljump</title> </HEAD> <BODY> </BODY> </HTML> END_OF_DOCそこで今回のようにPerlを使用して、次のような記述でページジャンプをさせます。
print "Location: //beginners.atompro.net/\n"; print "\n";
では、上記の内容を使用して「携帯電話のキャリア別ジャンプ」を作成してみます。
- 【記述サンプル】
- #!/usr/bin/perl $agent = $ENV{'HTTP_USER_AGENT'}; $str0 = "pc"; if ($agent =~ "DoCoMo"){ $str0 = "docomo"; } if ($agent =~ "J-PHONE"){ $str0 = "jphone"; } if ($agent =~ "UP.Browser"){ $str0 = "ezweb"; } $jmpurl = "//beginners.atompro.net/$str0.html"; print "Location: $jmpurl\n"; exit();