my
:
1 my $a = 4; 2 { 3 my $a = <STDIN>; 4 my $b = <STDIN>; 5 $a = ($a < $b)? $a : $b 6 print "$a\n"; 7 } 8 print "$a\n"; # 4Estas variables tienen como ámbito el bloque que las rodea. Asi la declaración de la variable léxica
$a
en la línea 3 oculta
la variable léxica declarada en la línea 1. Las modificaciones
de $a
en el bloque de las líneas 2-7 no afecta
a la variable $a
declarada en la línea 1.
Si no esta dentro de ningún bloque, el ámbito de la variable será el fichero actual.