2012-01-04 76 views
5

我該如何解決'在無效的上下文中無用的變量'這種情況? (第17行)我該如何解決這個'在無效的情況下無用的變量'的情況?

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; 
    } 

感謝

+3

http://perldoc.perl.org/perldiag.html和http://perldoc.perl.org/diagnostics.html – toolic 2012-01-04 14:35:40

+1

[perldata](http://perldoc.perl.org/perldata.html#List -value-constructors),[perlfaq4](http://perldoc.perl.org/perlfaq4.html#What-is-the-difference-between-a-list-and-an-array?) – 2012-01-04 14:50:16

+1

您還有其他問題。 next_page看起來不像是散列引用。你使用'嚴格'? – runrig 2012-01-04 17:02:55

回答

9

問題的行是

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

你分配給一個標量,所以只有列表的最後一個成員將被使用。以前的成員被拋棄 - 無用的使用變量。

相關問題