Mega Code Archive

 
Categories / Perl / Subroutine
 

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