Subroutine Perl

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