プログラムの結果を出力する際にテンプレートが使えると、プログラム本体に手を加えずに色々な表示ができるので便利そうだなーと思ったのですが、出力する値を一個一個置換するプログラムを書くのでは面倒なので、簡単そうな物が無いか調査してみました。
※プログラム初心者のため、このページのプログラムソースは正常に動作しない事がありますご注意下さい。
一番単純そうだったのは
$html =~ s/<%%(.+?)%%>/$data{$1}/g;
テンプレート上の任意の場所に「<%%ABCDE%%>」を書き込めば、変数の$data{“ABCDE”}と置換されます。
とてもシンプルで、ループ処理は不要、変数名がそのまま使えると良い所ずくめです。