ふそうごむ。by扶桑ゴム産業

扶桑ゴム産業の最新情報とうぇぶますたあ「TKYK」の個人的日記。

Class::DBIカップリングうぃずTT

「わけわからん」といわれながら、またわけわからんこと書いておきます(笑) Class::DBIすごいです。そして、TT(Template Toolkit)による連携も素晴らしいです。データベースを操作するコードのしやすさにはびっくり(でも、まだ20%位しか理解できていませんし、使い切れていません…)。 で、早速使う。
my @ref = TextDB::page->search_word_for($title); $tt->process("textDB.tt", {DB => ¥@ref}) or die $tt->error();
として、 textDB.ttは
[% FOREACH DB %] <table align="center">     <tr>         <td width = '100'>【ID】</td>         <td>[% id %]</td>     </tr>     <tr>         <td width = '100'>【タイトル】</td>         <td>[% title %]</td>     </tr>     <tr>         <td width = '100'>【テキスト】</td>         <td>[% text %]</td>     </tr> </table> <HR> [% END %]
とすればうまくいくのか?とやってみるがハッシュの配列たちをうまく読み込んでくれない(空白になる)。うーんと頭を冷やして、もう一度説明を読み返して、 [% FOREACH DB %][% FOREACH d IN DB %]としたらうまくいくのではないか?と気づかされた。(前の書き方も省略形で紹介されているけど…) で、気を取り直して
[% FOREACH d IN DB %] <table align="center">     <tr>         <td width = '100'>【ID】</td>         <td>[% d.id %]</td>     </tr>     <tr>         <td width = '100'>【タイトル】</td>         <td>[% d.title %]</td>     </tr>     <tr>         <td width = '100'>【テキスト】</td>         <td>[% d.text %]</td>     </tr> </table> <HR> [% END %]
すると、すごーいすごいー(以下略) ちょっとのことなのに、頭がいたい…。