perl:cgi
差分
このページの2つのバージョン間の差分を表示します。
次のリビジョン | 前のリビジョン | ||
perl:cgi [2018/06/25 10:40] – 外部編集 127.0.0.1 | perl:cgi [2018/07/20 13:34] (現在) – taka | ||
---|---|---|---|
行 1: | 行 1: | ||
====== Perl - CGI ====== | ====== Perl - CGI ====== | ||
- | ===== CGI で UTF8 を扱う ===== | + | ===== CGIでUTF8を扱う ===== |
- | CGI モジュールと Encode モジュールを使うとよい。 | + | CGIモジュールとEncodeモジュールを使うとよい。 |
- | <sxh perl; gutter: true;> | + | <sxh perl> |
# | # | ||
BEGIN { | BEGIN { | ||
- | | + | |
- | chdir dirname( $0 ); | + | chdir dirname($0); |
} | } | ||
行 23: | 行 23: | ||
use Encode; | use Encode; | ||
- | # 取得したデータを UTF8 として扱うためにデコード | + | # 取得したデータをUTF8として扱うためにデコード |
my $cgi = CGI-> | my $cgi = CGI-> | ||
- | foreach my $param ( $cgi-> | + | foreach my $param ($cgi-> |
- | my @value = map { Encode:: | + | my @value = map {Encode:: |
- | $cgi-> | + | $cgi-> |
} | } | ||
</ | </ | ||
- | これだけで CGI で正常に UTF8 が扱えるようになる。\\ | + | これだけでCGIで正常にUTF8が扱えるようになる。\\ |
- | CGI モジュールで取得した変数をハッシュにするには、 | + | CGIモジュールで取得した変数をハッシュにするには、 |
- | <sxh perl; gutter: false;> | + | <sxh perl> |
my %in = $cgi-> | my %in = $cgi-> | ||
</ | </ | ||
行 41: | 行 41: | ||
たったこれだけでよい。 | たったこれだけでよい。 | ||
- | ===== Cookie の書き込みと読み込み ===== | + | ===== Cookieの書き込みと読み込み ===== |
==== 書き込み ==== | ==== 書き込み ==== | ||
- | <sxh perl; gutter: true;> | + | <sxh perl> |
# | # | ||
BEGIN { | BEGIN { | ||
- | | + | |
- | chdir dirname( $0 ); | + | chdir dirname( $0 ); |
} | } | ||
行 66: | 行 66: | ||
</ | </ | ||
- | // | + | // |
==== 読み込み ==== | ==== 読み込み ==== | ||
- | <sxh perl; gutter: true;> | + | <sxh perl> |
# | # | ||
BEGIN { | BEGIN { | ||
- | | + | |
- | chdir dirname( $0 ); | + | chdir dirname($0); |
} | } | ||
行 87: | 行 87: | ||
my %cookies = fetch CGI:: | my %cookies = fetch CGI:: | ||
- | my $cookie | + | my $cookie |
- | my $result | + | my $result |
</ | </ | ||
- | 存在しないクッキーを取得しようとすると致命的なエラーとなるため、必ず exists で存在を確認する。取得した値に対して UTF-8 フラグを立てることも忘れずに。 | + | 存在しないクッキーを取得しようとすると致命的なエラーとなるため、必ずexistsで存在を確認する。\\ |
+ | 取得した値に対してUTF-8フラグを立てることも忘れずに。 | ||
perl/cgi.1529890849.txt.gz · 最終更新: 2018/06/25 10:40 by 127.0.0.1