2010-11-24 75 views
5

¿Puede alguien mostrarme un ejemplo que demuestre el comportamiento diferente de estas dos variables ($^N y $ +)?

+1

¿Es esta tarea? ¿O acabas de despertar en medio de la noche diciendo "oh no! ¿Cómo es $^N diferente de $ +? ¡Ahora no puedo dormir!" – Ether

+0

No es tarea. –

Respuesta

8

De perldoc perlvar:

$+: El texto que coincide con el último soporte de la última exitosa patrón de búsqueda.

frente

$^N: El texto emparejado por el grupo utilizado más recientemente cerrado (es decir el grupo con el paréntesis de cierre más a la derecha) de la última exitoso patrón de búsqueda .

Esto debería ilustrar la diferencia:

#!/usr/bin/perl 

use strict; use warnings; 

my $s = '12345'; 

if ($s =~ /(1([0-9]))/) { 
    print "$_\n" for $+, $^N; 
} 

Salida:

2 
12
Cuestiones relacionadas