超超簡易テンプレート関数
HTML::TemplateやTemplate-Toolkitなどのたいそうなものを使うほどでは無いが、あんまりコード内にHTMLを書きたくないとき。 こういうのはどうでしょ。なんの変哲もないですが。
第一引数に、テンプレートファイルの名前、第二引数以降に、
置換文字列 => 置換結果
のハッシュです。
print print_template( 'template.html', '%%message%%' => 'メッセージ' );
こういう感じで利用します。
sub print_template{ my $template_name = shift; my %replice = @_; my $data; open( my $in, '<', $template_name ) or die $!; { local $/; $data = <$in>; }; close $in; $data =~ s/$_/$replice{$_}/g foreach (keys %replice); return $data; }