2010-11-24 39 views
5

Kann mir jemand ein Beispiel zeigen, das das unterschiedliche Verhalten dieser beiden Variablen ($^N und $ +) zeigt?

+1

Ist das Hausaufgaben? Oder bist du mitten in der Nacht aufgewacht? "Oh nein! Wie unterscheidet sich $^N von $ +? Jetzt kann ich nicht schlafen!" – Ether

+0

Es ist keine Hausaufgaben. –

Antwort

8

Von perldoc perlvar:

$+: Der Text durch die letzte Klammer der letzten erfolgreichen Suchmuster abgestimmt.

Vergleich

$^N: Der Text von der verwendeten Gruppe abgestimmt meist kürzlich geschlossen (d.h. die Gruppe mit der am weitesten rechts liegenden schließenden Klammer) der letzten erfolgreichen Suchmuster.

Dieser Unterschied veranschaulichen soll:

#!/usr/bin/perl 

use strict; use warnings; 

my $s = '12345'; 

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

Ausgang:

2 
12
Verwandte Themen