Struppi: Einsetzen einer Variable in einen Platzhalter

Beitrag lesen

Angenommen, ich hab in einer Zeile "Hallo $keyword_name" stehen, und ausgegeben werden soll anstatt $keyword_name ein Name, denn ich in einer Variable hab.

Ein reines $line = s/$keyword/$variable/ funktioniert nicht, da dann wirklich "$variable" und nicht dessen Inhalt im ausgegebenen Text steht.

suchst du evtl. sowas wie HTML::Template?

wenn es wirklich nur way einfach sein soll, läßt sich das einfacher mit einem HASH realisieren.
In etwa so:

#!/usr/bin/perl -w  
  
use strict;  
my $text = <<"TXT";  
Hallo %NAME%!  
TXT  
  
my %hash =(  
NAME => 'Struppi'  
);  
  
$text =~ s/%([^%]+)%/$hash{$1}/g;  
print $text;

Struppi.