我在使用cookie_jar方法时遇到此错误:
Can't call method cookie_jar on an undefined value
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
my $cookie_jar= new HTTP::Cookies;
my $ua=new LWP::UserAgent;
my %cookies= fetch CGI::Cookie;
my $encoded=$cookies{'SCred'};
$cookie_jar->set_cookie(1, "SCred", $encoded, "/", $SSO_DOMAIN, "", 0, 0, 60*60, 0);
$ua->cookie_jar($cookie_jar); # I get error on this line
Run Code Online (Sandbox Code Playgroud)
知道为什么我会收到这个错误吗?
我已经尝试过你的代码(严格,警告以及我认为所需的模块,将自由变量转换为字符串):
kyle@indigo64 ~[home*]$ cat x.pl
use strict;
use warnings;
use HTTP::Cookies;
use LWP::UserAgent;
use CGI::Cookie;
my $ua = new LWP::UserAgent;
my %cookies = fetch CGI::Cookie;
my $encoded = $cookies{'SCred'};
my $cookie_jar = new HTTP::Cookies;
$cookie_jar->set_cookie(
1, "SCred", '$encoded',
"/", '$SSO_DOMAIN', "",
0, 0, 60*60, 0
);
$ua->cookie_jar($cookie_jar);
print "ua: ",$ua,"\n";
print "ua->cookie_jar: ",$ua->cookie_jar,"\n";
mortis@indigo64 ~[home*]$ perl x.pl
ua: LWP::UserAgent=HASH(0x82f8cc8)
ua->cookie_jar: HTTP::Cookies=HASH(0x82f8b84)
kyle@indigo64 ~[home*]$
Run Code Online (Sandbox Code Playgroud)
它的工作原理.您可能想要发布一个更全面的示例,或者在'$ ua = new ...'和'$ ua-> cookie_jar'行之间是否有行,其中$ ua被重新分配或以其他方式设置为undef?如果在调用cookie_jar之前打印'$ ua'的值,您应该看到它是undef,它必须在第一次赋值和调用该方法的位置之间重置.
| 归档时间: |
|
| 查看次数: |
1629 次 |
| 最近记录: |