のみまくし日記

毎日が文化祭の前日、そんな環境っていいですよね。この日記は未来の自分へのメッセージです。

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回しか使えないのねん。リセットする特殊変数があったきがするけど、調べるのがかったるいんで。

Perl 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分 #