【変数の指定】 use vars qw(%FORM);入力情報 use vars qw(%SETTING);設定情報 use vars qw($NOWTIME);現在の時間 use vars qw($DATE);表示日付 use vars qw($IP);ホスト情報(生?) use vars qw($PROXY);ホスト情報(プロクシ) use vars qw($HOST);ホスト情報($IP<$PROXY>) use vars qw($PATH);$PATH = "../" . $FORM{'bbs'} . "/";(板アドレス) use vars qw($DATPATH);$DATPATH = $PATH . "dat/";(データディレクトリ) use vars qw($TEMPPATH);$TEMPPATH = $PATH . "html/";(テンポディレクトリ) use vars qw($INDEXFILE);$INDEXFILE = $PATH . "index.html"; use vars qw($INDEXGZFILE);$INDEXGZFILE = $PATH . "index.html.gz"; use vars qw($SUBFILE);$SUBFILE = $PATH . "subback.html"; use vars qw($SUBGZFILE);$SUBGZFILE = $PATH . "subback.html.gz"; use vars qw($IMODEFILE);$IMODEFILE = $PATH . "i/index.html"; use vars qw($DATAFILE);データファイル なお、これらについては、変数自体を使わないという選択もありです。
4 :
#!/usr/local/bin/perl use strict 'vars';
# とりあえずな感じ。 # last modified 2002年 3月 17日 by トオル use vars qw($version); $version ="2002年";
#==================================================== # システム関連設定(タイムゾーン) #==================================================== use vars qw(%FORM); use vars qw(%SETTING); use vars qw($NOWTIME); $NOWTIME = time; # タイムゾーンをセットする { $ENV{'TZ'} = "JST-9"; } # シグナル対処関数 sub SigExit { exit(0); } { $SIG{'PIPE'} = $SIG{'INT'} = $SIG{'HUP'} = $SIG{'QUIT'} = $SIG{'TERM'} = "SigExit"; }
5 :
use vars qw($IP); use vars qw($HOST); use vars qw($PROXY); $IP = $ENV{'REMOTE_ADDR'}; $IP = gethostbyaddr(pack('c4',split(/\./, $IP)), 2) || $IP; if ($ENV{'HTTP_VIA'} =~ s/.*\s(\d+)\.(\d+)\.(\d+)\.(\d+)/$1.$2.$3.$4/) { $PROXY = $ENV{'HTTP_VIA'}; } if ($ENV{'HTTP_X_FORWARDED_FOR'} =~ s/^(\d+)\.(\d+)\.(\d+)\.(\d+)(\D*).*/$1.$2.$3.$4/) { $PROXY = $ENV{'HTTP_X_FORWARDED_FOR'}; } if ($ENV{'HTTP_FORWARDED'} =~ s/.*\s(\d+)\.(\d+)\.(\d+)\.(\d+)/$1.$2.$3.$4/) { $PROXY = $ENV{'HTTP_FORWARDED'}; } $PROXY = gethostbyaddr(pack('c4', split(/\./, $PROXY)), 2); $HOST = $IP; $HOST .= "<$PROXY>" if ($PROXY);