Local variables. : Variable Scope « Language Basics « Perl






Local variables.

    
#!/usr/local/bin/perl 

$total = 0; 
while (1) { 
    $linetotal = &get_total; 
    last if ($linetotal eq "done"); 
    print ("Total for this line: $linetotal\n"); 
    $total += $linetotal; 
} 
print ("Total for all lines: $total\n"); 

sub get_total { 
   my ($total, $inputline, @subwords); 
   my ($index, $retval); 
   $total = 0; 
   $inputline = <STDIN>; 
   if ($inputline eq "") { 
      return ("done"); 
   } 
   $inputline =~ s/^\s+|\s*\n$//g; 
   @subwords = split(/\s+/, $inputline); 
   $index = 0; 
   while ($subwords[$index] ne "") { 
       $total += $subwords[$index++]; 
   } 
   $retval = $total; 
} 

   
    
    
    
  








Related examples in the same category

1.Auto local variable
2.Local element
3.Forward Reference
4.Uses the same name inside and outside a foreach statement.
5.Creates a global variable $myvar and prints out the global instance of the variable and the package-specific variable:
6.Scope of Variables: Variables used in subroutines are global by default