C:\> ppm.bat ppm> install HTTP-Lite ppm> install Date-Calc ppm> quit
#! C:/Perl/bin/perl
use strict;
use HTTP::Lite::Fetch;
use Date::Calc qw(Today_and_Now Add_Delta_DHMS Day_of_Week);
# 首都高の空いている曜日と時間帯をさがす
my $uri = 'http://www.jartic.or.jp/traffic/highway/kousoku/rhp0001.jpeg';
# キャッシュの置き場
my $cache = './kousoku.cache';
my $res = HTTP::Lite::Fetch->fetch($uri, Cache => $cache)
or die HTTP::Lite::Fetch->errstr;
my $jpg = $res->body;
my @now = Add_Delta_DHMS(Today_and_Now(),0,0,-10,0); # タイムラグが10分くらいあるようだ...
my $file = sprintf("%04d%02d%02d_%02d%02d", @now) . '.jpg';
my $dow = Day_of_Week($now[0],$now[1],$now[2]);
# ファイルは、var/曜日番号/以下におく 月曜=1, 火曜=2, .. .. .. 日曜=0
# ディレクトリはあらかじめ作っておく。
open F, ">../var/$dow/$file";
binmode F;
print F $jpg;
__END__
C:\> ppm.bat ppm> install URI-Fetch ppm> install Date-Calc ppm> quit
#! /usr/bin/perl
use strict;
use Cache::File;
use URI::Fetch;
use Date::Calc qw(Today_and_Now Add_Delta_DHMS Day_of_Week);
# 首都高の空いている曜日と時間帯をさがす
my $uri = 'http://www.jartic.or.jp/traffic/highway/kousoku/rhp0001.jpeg';
# キャッシュの置き場
my $cache_root = '/tmp/cache';
my $cache = Cache::File->new( cache_root => $cache_root );
my $res = URI::Fetch->fetch($uri, Cache => $cache)
or die URI::Fetch->errstr;
my $jpg = $res->content;
my @now = Add_Delta_DHMS(Today_and_Now(),0,0,-10,0); # タイムラグが10分くらいあるようだ...
my $file = sprintf("%04d%02d%02d_%02d%02d", @now) . '.jpg';
my $dow = Day_of_Week($now[0],$now[1],$now[2]);
# ファイルは、var/曜日番号/以下におく 月曜=1, 火曜=2, .. .. .. 日曜=0
# ディレクトリはあらかじめ作っておく。
open F, ">../var/$dow/$file";
binmode F;
print F $jpg;
__END__
2005-02 / 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28