Philipp Hasenfratz: suche/ersetzen per regulären befehl und wildcards ?

Beitrag lesen

Halihallo jenk

$template =~ s/<!--(\w)-->/${$1}/g;
nein, geht leider nicht :( die platzhalter werden
nicht ersetzt...

<code ver="1">
$a = '15';
$b = '27';
$template = "'<!--a-->
test <!--b-->'";
print 'Anzahl: ' . ($template =~ s/<!--(\w)-->/${$1}/sg) . "\n";
print $template;
</code>

<code ver="2">
my $a = '15';
my $b = '27';
$template = "'<!--a-->
test <!--b-->'";
print 'Anzahl: ' . ($template =~ s/<!--(\w)-->/${$1}/sg) . "\n";
print $template;
</code>

Code 1 funktioniert bei mir, Code 2 nicht. Unterschied: Variablen $a, $b sind einmal
nur im aktuellen Scope definiert, das andere Mal global. Die Variablen müssen folglich
global definiert sein? - Halte ich für komisch, macht jedoch den Anschein...

Viele Grüsse

Philipp