Ambito automático

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.

Casiano Rodríguez León
2009-10-04