Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl编译时错误,未初始化值_Perl_Compiler Errors_Initialization - Fatal编程技术网

Perl编译时错误,未初始化值

Perl编译时错误,未初始化值,perl,compiler-errors,initialization,Perl,Compiler Errors,Initialization,我在perl方面遇到了问题。这是我的节目: my $data = decode_json $json; my @infoids = keys %{$data -> {listinginfo}}; foreach my $infoid (@infoids) { my $price = $data -> {listinginfo}{$infoid}{converted_price}; print "$price" . "\n"; #30 } 我正在使用strict和warnings,

我在perl方面遇到了问题。这是我的节目:

my $data = decode_json $json;
my @infoids = keys %{$data -> {listinginfo}};

foreach my $infoid (@infoids) {
my $price = $data -> {listinginfo}{$infoid}{converted_price};
print "$price" . "\n"; #30
}
我正在使用strict和warnings,我得到了一个错误:在C:\Users\Seb\perl.pl第30行的字符串中使用未初始化的值$price。任何关于为什么会发生这种情况的帮助都将不胜感激。提前谢谢

赛博

编辑: 我用这个代码登录网站,我想可能有问题。它不返回任何错误,但未成功将我登录

my $login = "https://steamcommunity.com/login/home/?goto=market%2F";
my $username = "USR";
my $password = "PASS";
my $mech = WWW::Mechanize->new();
$mech->cookie_jar(HTTP::Cookies->new());
$mech->get($login);
$mech->form_name('loginForm');
$mech->field(login => $username);
$mech->field(passwd => $password);
$mech->click();

我认为这个表达式
$data->{listinginfo}{$infoid}{converted_price}未初始化。尝试
my$price=defined$data->{listinginfo}{$infoid}{converted\u price}?$data->{listinginfo}{$infoid}{converted\u price}:0

这是if.的缩写形式。。然后。。否则。

谢谢你的回复,当我这样做时,我只得到很多0。你知道这是为什么吗?