in reply to Automated extraction of NOAA weather satellite images
the time-stamp portion of each file name will range from "*.000.jpg" at midnight to "*.235959.jpg" at one second before midnight, with potential file-name collisions among sets of times like 01:23:45, 12:03:45 and 12:34:05 (which all would end up as "*.12345.jpg"), for example.my $timestring = $current_time->hour.$current_time->minute.$current_ti +me->second;
Personally, I'd use the POSIX "strftime" function to set up fixed-width (zero-padded) strings for the file names -- and while I'm at it, might as well throw in the "ymd" date as well. Also, I think I'd rather use less repetition in the literal strings (looks like there was an inconsistency in your file names: an extra "v" in "westconusvwv").
For that matter, it would be even simpler if I decided that the original four-letter NOAA file names were good enough for me...use strict; use LWP::Simple; use POSIX; my %image_url; for my $e_w ( qw/eastconus westconus/ ) { for my $typ ( qw/ir vs wv/ ) { $image_url{$e_w.$typ} = "http://www.goes.noaa.gov/GIFS/" . uc(substr($e_w,0,1)) . 'C' . $typ . '.JPG'; } } my $timestring = strftime( "%Y%m%d_%H%M%S", localtime ); print $timestring; for my $img ( keys %image_url ) { my $status = getstore( $image_url{$img}, join( '.', $img, $timestr +ing, 'jpg' )); print join( "\n", $img, $image_url{$img}, $status, "\n" ); }
(updated the code to add a missing close-paren at line 16. Thanks, zentara!)
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Automated extraction of NOAA weather satellite images
by Scott7477 (Chaplain) on May 30, 2007 at 13:51 UTC |