Schau dir mal
HTML::Template oder aehnliches an.
Wenn du es von Hand machen moechtest: Es ist keine gute Idee, in einem Template direkt Variablen in Perl-Syntax zu benutzen, denn das macht das Ersetzen schwieriger und nicht leichter. Man kann zwar den Text durch ein eval() jagen, um die Ersetzung zu erreichen, dabei stolpert man aber leicht ueber Quotingprobleme und oeffnet evtl. Sicherheitsluecken.
Nimm lieber ein Markup, das garantiert nicht im Template vorkommt, und verziere damit deine Variablen.
Beispiele fuer beides finden sich in anderen Threads:
http://board.perl-community.de/cgi-bin....=0;t=10
http://board.perl-community.de/cgi-bin....t=0;t=4