クッキーのおいしい食べ方 (module)CGI-Cookie

back
■ 手作りで

環境変数 HTTP_COOKIE に入っている。
$cookie_data = $ENV{HTTP_COOKIE};

複数のkey=value をセットしておいてそれを受け取る場合は、
key1=value1; key2=value2; ... という形でセットされているので、
フォームデータの取得と同じ要領で、split あたりで分解する。
foreach my $pair (split(/; */, $ENV{HTTP_COOKIE}) {
  my ($key, $val) = split(/=/, $pair);
  # 必要があればこの辺にエスケープ関連の処理
  $cookie{$key} = $val
}

■ 既製品で

use CGI::Cookie;
%cookie = fetch CGI::Cookie;

モジュールを使っても、値の URL デコードはされないので、手動で行え。
(バージョンによってはされる? 未確認)

back