2012-01-04 3 views
5

Jak mogę rozwiązać ten przypadek "Bezużyteczne użycie zmiennej w pustym kontekście"? zostaną wykorzystane (linia 17)Jak mogę rozwiązać ten przypadek "Bezużyteczne użycie zmiennej w pustym kontekście"?

sub next { 
    my $page = shift; 

    my $next_stage = $page->{tree}->{nextstage}; 
    my $prev_stage = $page->{stage}; 

    print "Moving from: $prev_stage to $next_stage.\n" if ($DEBUG); 

    if ($next_stage eq "end") { 
     serialize_grabber_conf_answers($page, $config_file_tmp); 
     $grabber_initialized = 1; 
     return FALSE; 
    } 

    unless (defined ($page->{next_page})) { 
     serialize_grabber_conf_answers($page, $config_file_tmp); 
     my $next_page = ($page, $config_file_tmp, $next_stage); 
     $next_page->{stage} = $next_stage; 
     $page->{next_page} = $next_page; 
     $next_page->{prev_page} = $page; 
    } 

    return FALSE; 
    } 

Dzięki

+3

http://perldoc.perl.org/perldiag.html i http://perldoc.perl.org/diagnostics.html – toolic

+1

[perldata] (http://perldoc.perl.org/perldata.html#List -wartość-konstruktorów), [perlfaq4] (http://perldoc.perl.org/perlfaq4.html#Jakie-jest-różna-tablica-pole-a-lista i tabliczka?) –

+1

Masz inne problemy . next_page nie wygląda tak, jakby była referencją hash. Czy używasz "ścisłego" ?? – runrig

Odpowiedz

9

Problematyczny linia jest

my $next_page = ($page, $config_file_tmp, $next_stage); 

Jesteś przypisanie do skalara, więc tylko ostatni element listy. Poprzedni członkowie są wyrzucani - bezużyteczne użycie zmiennej.