最近作ったスクリプト
気象庁のサイトから気象衛星の画像をダウンロードして,windowsのデスクトップ画面に貼り付けるperlスクリプトを作ってみた.ActivePerl 5.8.3 上で作成.動かすためには,Image::Magick とwin32::APIをインストールしておくことが必要.手を抜いたので,C:\scripts というディレクトリがあることを前提にしている.1時間ごと画像を更新するようにしている.このスクリプトをwall.plという名前にしたとすると,"wperl wall.pl"と起動すれば,コマンドプロンプト画面を立ち上げっぱなしにしなくてすむ.
#!wperl -w use LWP::Simple; use Image::Magick; use Win32::API; use strict; my ($file, $dir, $jpgFile, $bmpFile); my ($systemParametersInfo); my ($iMagick); my ($uiAction, $uiParam, $pvParam, $fWinini); $systemParametersInfo = Win32::API->new(qw(user32 SystemParametersInfo NNPN N)) || die $^E; $dir = 'C:\\scripts\\'; $file = 'sat-japan'; $jpgFile = $dir . $file . '.jpg'; $bmpFile = $dir . $file . '.bmp'; $uiAction = 20; $uiParam = 0; $pvParam = $bmpFile; $fWinini = 1; while(1){ getstore("http://www.jwa.or.jp/sat/images/sat-japan.jpg", $jpgFile); $iMagick = new Image::Magick; $iMagick->Read($jpgFile); $iMagick->Write($bmpFile); undef $iMagick; die "file not found\n" unless (-s $bmpFile); print $^E unless ($systemParametersInfo->Call($uiAction, $uiParam, $pvParam, $fWinini)); sleep 3600; }