[vienna.pm] scalar(Hash)

Marcel Grunauer marcel.gruenauer at chello.at
Tue Dec 18 08:47:03 CST 2001


* * * vienna-pm-list * * *


On Dienstag, Dezember 18, 2001, at 03:34  Uhr, Johannes Fuernkranz wrote:

> Warum tut
>
> my $s = 'n';
> foreach $i (1,2,3) {
>   $s =~ s/n/$i/;
>   print "$s\n";
> }
>
> nicht was ich will, und wie kann ich es reparieren?
> Ich brauche vermutlich eine Art Gegenteil des o modifiers, aber sowas 
> find ich nicht.

Weil $s nach dem ersten Ersetzen eben '1' ist und da im zweiten
Durchlauf kein 'n' mehr zum ersetzen da ist. Du kannst aber fuer
jeden Durchlauf eine eigene Variable definieren:

my $s = 'n';
foreach $i (1,2,3) {
	(my $s2 = $s) =~ s/n/$i/;
	print "$s2\n";
}

P.S. Was hat das mit 'scalar(Hash)' (siehe Subject) zu tun? :-)

Marcel


###
You are subscribed to vienna-pm-list as Marcel Grunauer <marcel.gruenauer at chello.at>
http://www.fff.at/fff/vienna.pm/



More information about the Vienna-pm mailing list