2014-05-18 8 views
0

나는 perl에 문제가있다. 이건 내 프로그램입니다 : 셉 \ perl.pl 라인 \ \ 사용자 (30) 어떤 도움 등을 : C에서 문자열에서 초기화되지 않은 값 $ 가격의 사용 :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 
} 

나는 엄격하고 경고를 사용하고, 나는 오류를 얻고있다 왜 이런 일이 일어나고 있는지 정말 고맙게 생각합니다. 미리 감사드립니다.

셉은

편집 : 임 웹 사이트에 로그인이 코드를 사용하여, 나는 그것이 결함이있을 수 있습니다 생각합니다. 그것은 어떤 오류를 반환하지 않지만 성공적으로 나를 로그인하지 않습니다.

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(); 

답변

0

이 표현식은 $data -> {listinginfo}{$infoid}{converted_price};이 초기화되지 않았다고 생각합니다. 시도하십시오 my $price = defined $data -> {listinginfo}{$infoid}{converted_price} ?$data -> {listinginfo}{$infoid}{converted_price} : 0 ; 이것은 if.. then ..의 약식입니다.

+0

답장을 보내 주셔서 감사합니다. 그렇게 할 때 나는 0을 많이 얻었습니다. 왜 그런지 알아? – user3648548

+0

@ user3648548 저에게 json을 보여줄 수 있습니까? – Jens

+0

필자는 ive가 문제를 발견하고 편집으로 추가한다고 생각합니다. – user3648548

관련 문제