環境変数

CGI は環境変数というものを受け取って,ユーザの情報を知ります。

次の例を調べてみましょう。

#! /usr/bin/perl

print "Content-type: text/html\n\n";
print "<p>あなたは $ENV{'HTTP_REFERER'} から来ましたね\n";
print "<p>あなたのブラウザは $ENV{'HTTP_USER_AGENT'} ですね\n";
print "<p>あなたの読める言語は $ENV{'HTTP_ACCEPT_LANGUAGE'} ですね\n";

最後の例では ja が日本語,en が英語です。 これを使えばあいさつを変えることができます。

if ($ENV{'HTTP_ACCEPT_LANGUAGE'} =~ /^ja/) {
  print "<p>こんにちは!\n";
} else {
  print "<p>Hello!\n";
}

この 何々 =~ /^ja/ という書き方は,何々が ja で始まっているという意味です。 単に 何々 =~ /ja/ とすれば,何々に ja が含まれるという意味, 何々 =~ /ja$/ とすれば,何々が ja で終わっているという意味です。 何々 =~ /^ja$/ なら,何々が ja そのものということになります。


奥村晴彦

Last modified: 2004-12-24 12:52:30