

Como sabemos, ciertas variables (como $1, $& ...)
reciben automáticamente un valor con cada operación
de ``matching''.
Considere el siguiente código:
if (m/(...)/) {
&do_something();
print "the matched variable was $1.\n";
}
Puesto que $1 es automáticamente declarada local
a la entrada de cada bloque, no importa lo que se haya
hecho en la función &do_something(), el valor de
$1 en la sentencia print es el correspondiente
al ``matching'' realizado en el if.

