2006年06月16日 (金)
<DATA>
こんなコード書いたら、date の1コめしかとれなくて、はまった。
for my $date ('2006-06-01', '2006-06-02','2006-06-03') {
my @article = Blog::Data::Article->search(
date => $date,
);
my $tt = Template->new();
$tt->process(\*DATA, {article => \@article}) or die $tt->error;
}
__DATA__
[% FOR v = article -%]
[% v.title %]
[% END %]
template部分を変数にいれて、解決。
なんか前もはまった気がすることを解決してから気がついた。<DATA>は1回しか使えないのねん。リセットする特殊変数があったきがするけど、調べるのがかったるいんで。
posted by takefumi
|
この日記へリンク
|
コメント(2)
|
トラックバック(0)
この日記へのトラックバック
この日記へのコメント
seekすればいいんだけど、tell使わないといけないのがトリッキー。
my $pos = tell(DATA);
print while <DATA>;
seek(DATA,$pos,0);
print while <DATA>;
__END__
data 1
data 2
data 3
posted by mad-p at 2008年12月02日 20時51分 #
お久しぶりです〜。
> tell使わないといけないのがトリッキー。
なるほど。そうだそうだ。seekでした。(特殊変数じゃなかった。)
seek(DATA, 0, 0) ってやってみると結果が面白いですね。
posted by きむら at 2008年12月02日 20時51分 #

