La diferencia entre variables dinámicas y léxicas debería quedar mas clara observando el siguiente ejemplo ...
lhp@nereida:~/Lperl/src$ cat -n local.pl
1 #!/usr/bin/perl -w
2 use strict;
3
4 our $x;
5
6 sub pr { print "$x\n"; }
7 sub titi { my $x = "titi"; pr(); }
8 sub toto { local $x = "toto"; &pr(); &titi(); }
9
10 $x = "global";
11 &pr();
12 &toto();
13 &titi();
... y su ejecución:
> local.pl global toto toto global
Casiano Rodríguez León
