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.