長い間、PHP でページ生成 → wget で静的ファイルに落とす → 自作FTPクライアントでサーバに PUT、 という流れで酒日記を更新していたのだが。 やっと重い腰を上げて、PHP でページ生成している部分を Perl の CGI::Application + Template-Toolkit で実装しなおし。
昨日からぼちぼち進めて、ほぼ完了。
今回、いつも使っている HTML::Template ではなくて Template-Toolkit を使ってみたのだが、
<select> [% FOREACH per = per_loop %] <option value="[% per %]"[% IF per == article.per %] selected[% END %]>[% per %]</option> [% END %] </select>
こんなふうに、テンプレート側で条件分岐の条件を設定できたり、
<h3>換算酒量</h3> <table> [% USE autoformat(form => '>>>>>.<<', numeric => 'AllPlaces') %] <tr><td>エタノール換算</td><td><b>[% x = s.total_alc_sum / 1000; autoformat(x) %]</b> ([% x = x / s.days; autoformat(x) %] /day)</td></tr>
簡単な演算やフォーマットの設定ができたりで、非常に便利。
ただ、強力さにまかせてロジック (MVC モデルでいうところの M と C の部分) に絡むところをいじりだすと、
ヘタに作った PHP のようにメンテ不能に陥りそうだけど。
# ちゃんとルールを作って運用、制作しなくては。