PerlのCGI.pmで複数のCookieを消す
スポンサードリンク
CGI.pmのみ使っているようなタイトな環境で、Cookieを消すというやり方、正直いって知らんかった。最近Cookieってセッション番号ぐらいしか焼いていないし、しかもシステムが勝手に焼くしな……
こんな風にしてみた。
Finename: delete_cookie.cgi
#!/usr/bin/perl use strict; use warnings; use CGI; my $q = new CGI; my @del_cookies = ('val1', 'val2'); my $cookies; foreach my $key ( @del_cookies ){ push @$cookies, $q->cookie( -name => $key, -value => '', -expires => '-1y', ); }; print $q->header(-cookie=>$cookies); exit; __END__
ちなみに、これブラウザで実行しても見た目なにも表示されない。Cookieを消せっていう指示が入っているHTTPヘッダが見えないところで受信されているっていうことです。
CGI.pm推奨のCookieの使い方は、一つのCookieで、複数の値を入れるタイプなんだけれども、焼かれるCookieは、必ずしもCGI.pm推奨のCookieの使い方に倣っていない場合がある。
今回のCookie削除は、複数のCookieを削除するタイプです。ループしてやらなきゃいけないのね……
スポンサードリンク
トラックバック(0)
トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/3234
コメントする