如果已经存在Cookie,则可以正常工作
use CGI::Cookie;
my %cookie = CGI::Cookie->fetch;
my $val = $cookie{'MY_COOKIE'}->value;
如果没有cookie,则页面失败,并显示此错误。
无法在/file.cgi第23行的未定义值上调用方法“ value”。
此测试会产生相同的错误...大概是因为它试图做同样的事情
if ( $cookie{'MY_COOKIE'}->value ) {
$val = $cookie{'MY_COOKIE'}->value;
}
我如何检测是否没有cookie或它的值为空?
谢谢。
尝试
my $myCookie = $cookie{'MY_COOKIE'};
my $val = defined($myCookie) ? $myCookie->value : '';
OR
if( defined( my $myCookie = $cookie{'MY_COOKIE'} )) {
my $val = $myCookie->value;
# ...
}