I had never heard of
Time::Tiny before... If I understand its man page correctly, I think your code would create variable-length file names that might be hard to interpret reliably -- and might not be unique over the course of a day. That is, when you do:
my $timestring = $current_time->hour.$current_time->minute.$current_ti
+me->second;
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.
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").
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" );
}
For that matter, it would be even simpler if I decided that the original four-letter NOAA file names were good enough for me...
(updated the code to add a missing close-paren at line 16. Thanks, zentara!)
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.