use strict; use lib qw(.); use CGI; use CGI::Cookie; my $cgi = new CGI; my $op = $cgi->param('op'); $main::cookie_name = $cgi->param('cookie_name'); $main::full_url = $ENV{SERVER_URL} . $ENV{SCRIPT_NAME}; $main::domain = $cgi->param('domain'); $main::path = $cgi->param('path'); $main::cookie_value = $cgi->param('cookie_value'); $main::domain ||= '.mybc.com'; $main::path ||= '/'; $main::cookie_value ||= 'na'; #$main::domain = $ENV{HTTP_HOST}; #($main::path) = ($ENV{SCRIPT_NAME} =~ m|(.*)/[^/]+$|); $main::cookie = $cgi->cookie($main::cookie_name); #$op='rm';$main::cookie=1; set_cookie($cgi) if ($op eq 'set'); remove_cookie($cgi) if ($op eq 'rm'); %main::cookies = fetch CGI::Cookie; my ($html_cookie_table, $html_cookie_select); parse_all_cookies({ html_table => \$html_cookie_table, html_select => \$html_cookie_select, }); print $cgi->header(); print qq|
Cookie set/remove test.
# REMOVING COOKIE: # -name => $main::cookie_name, # -value => 'foobar', # -expires=> 'now', # -path => $main::path, # -domain => $main::domain, ## |; print CGI::redirect(-location => $main::full_url, -cookie => [$cookie]); exit; } } sub parse_all_cookies { my ($r_html_table, $r_html_select) = @{$_[0]}{qw(html_table html_select)}; $$r_html_table = qq|
| Cookie Name | Content |
| $_ | ".$main::cookies{$_}." |