🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.perl
2 messages
2 total messages Started by Mirek Prywata Tue, 12 May 1998 12:08
"Czas życia" zmiennych $1,$2,$3 ....
#1413
Author: Mirek Prywata
Date: Tue, 12 May 1998 12:08
21 lines
1072 bytes
witam,

Mam pytanie o to kiedy te zmienne są wymieniane na nowe, tzn czy w
przykładzie:

while(<>){
	foreach $W (@wzorce1){
		while(s/($W)/ /){
			print "znalazłem $1\n";
		}
	}
}

Manual jest strasznie przepastny i nie udało mi się tego znaleźć. Zdrowy
rozsądek nakazywałby, by przy każdym s/// zmienne chwytane przez () były
numerowane od początku. Czy jest jakaś ogólna reguła?

W jakich okolicach man-a można o tym poczytać?

				pozdrawiam
					Mirek
Re: "Czas życia" zmiennych $1,$2,$3 ....
#1414
Author: Michal Mosiewicz
Date: Tue, 12 May 1998 12:47
28 lines
1523 bytes
Mirek Prywata wrote:

> numerowane od początku. Czy jest jakaś ogólna reguła?

Numerowane? Przecież za każdym razem, kiedy używasz wyrażenia
regularnego z wyrażeniem grupującym są one definiowane i odpowiednio
ustawiane ich wartości. Numer zmiennej zależy od kolejności wyrażenia
grupującego (nawiasu) w wyr. regularnym. I tylko tyle trzeba wiedzieć.
Co najwyżej należy wiedzieć, że zmienne te są traktowane lokalnie w
stosunku do aktualnego bloku programu. W szczególności:

bash$ perl
$x = 'aaaa';
$x =~ /(aa)/;
foreach (1..1) {
  $x = 'aaaa';
  $x =~ /(a)/;
  print ">>>".$1 . "\n";
}
print $1 . "\n";
>>>a
aa     

Michał

-- 
WWW: http://www.lodz.pdi.net/~mimo  tel: Int. Acc. Code + 48 42 148340
add: Michal Mosiewicz  *  Bugaj 66 m.54 *  95-200 Pabianice  *  POLAND
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads