\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 boniadiostaObserve 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