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を削除するタイプです。ループしてやらなきゃいけないのね……
トラックバック
この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/19018/48469907
この記事へのトラックバック一覧です: PerlのCGI.pmで複数のCookieを消す:






![森田 創: WEB+DB PRESS 総集編 [Vol.1~60]](http://ecx.images-amazon.com/images/I/51aE58LxWlL._SL75_.jpg)
















![: 電子ルーペ ViewPe[ビューペ] 3R-MSV35 マイクロスコープ デジタル顕微鏡 高機能 低価格 読書 植物 研究 肌チェック](http://ecx.images-amazon.com/images/I/41erkiQgAsL._SL75_.jpg)





![: Optimus bright [docomo L-07C] 対応 予備バッテリー 1500mAh BL-44JN](http://ecx.images-amazon.com/images/I/41gjqsDjq%2BL._SL75_.jpg)










![: パンツの穴 [DVD]](http://ecx.images-amazon.com/images/I/21R9SEY1HPL._SL75_.jpg)

















