Perlについての質問箱 39箱目at TECH
Perlについての質問箱 39箱目 - 暇つぶし2ch381:戦犯369
09/03/22 02:49:50
# つづき
# >>362式なら
# my (undef, undef, undef, $day, $month, $year) = localtime();
# my $yesterday = sprintf("%04d-%02d-%02d", $year + 1900, $month + 1, $day - 1);


# ファイルの中身で昨日のYYYY-MM-DDに合致すれば変換する
$$file =~ s{
    ($yesterday)
}{
    # ファイルに書いてある最終更新年月日(昨日)を、
    my ($year, $month, $day) = split q{-}, $1;
    # 翌日(つまり今日)に変換する
    DateTime->new(year => $year, month => $month, day => $day)
            ->add(days => 1)
            ->ymd();
    # >>362式なら
    # sprintf("%04d-%02d-%02d", $year, $month, $day + 1);
}xmseg;

# ファイルのエンコードを元に戻す
if ($encoding->name() ne 'ascii' || $encoding->name() ne 'utf8') {
    $$file = $encoding->encode($$file);
}

write_file($file_name, $file);

__END__

まあ、
SSI > テンプレート使用 > ベタ置換
の順が楽なんだろうけど。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch