Difference between my and local : Local « Subroutine « Perl






Difference between my and local

   

$friend="friend"; # Global variables
$pal="Tom";
print "$friend and $pal are global.\n";
sub guests {
     my $friend="Pat";    # Lexically scoped variable
     local $pal="Chris";  # Dynamically scoped variable
     print "$friend and $pal are welcome guests.\n";
     &who_is_it;          
}

sub who_is_it {
     print "global, $friend, here.\n";
     print "pal is now $pal.\n";  # Dynamically scoped
}

&guests;                 
print "Global friends are back: $friend and $pal.\n";

   
    
    
  








Related examples in the same category

1.Local variable shadows the gloabl variable
2.Local variable shadows the global variable in a subroutine
3.Local variables in subroutines
4.Duplicate global and local variable name (use strict;)
5.Using local