El uso de $1 dentro una expresión regular

Dentro de una expresión regular es necesario referirse a los textos que casan con el primer, paréntesis, segundo, etc. como \1, \2, etc. La notación $1 se refieré a lo que casó con el primer paréntesis en el último matching, no en el actual. Veamos un ejemplo:
> cat dollar1slash1.pl
#!/usr/bin/perl

 $a = "hola juanito";
 $b = "adios anita";

 $a =~ /(ani)/;
 $b =~ s/(adios) *$1/\1 boni$1/;
 print "$b\n";
> dollar1slash1.pl
adios boniadiosta
Observe como el $1 que aparece en la cadena de reemplazo se refiere a la cadena que caso en este último casamiento (adios).

Casiano Rodríguez León
Licencia de Creative Commons
Principios de Programación Imperativa, Funcional y Orientada a Objetos Una Introducción en Perl/Una Introducción a Perl
por Casiano Rodríguez León is licensed under a Creative Commons Reconocimiento 3.0 Unported License.

Permissions beyond the scope of this license may be available at http://campusvirtual.ull.es/ocw/course/view.php?id=43.
2012-06-19