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