In the spirit of TMTOWTDI, here's another way of doing it, which
only needs to make one localtime call. Of course, you
also have to store around a little extra data (the months), but it's probably worth it. More descriptive variable
names are always helpful too, of course. :)
my($hour, $mday, $mon, $year) = (localtime)[2..5];
my @months = qw/jan feb mar apr may jun
jul aug sep oct nov dec/;
$mday-- if $hour < 9;
printf "Location: http://www.userfriendly.org/cartoons/archives/%02d%s
+/%04d%02d%02d.html\n\n",
$year%100, $months[$mon], $year+1900, $mon+1, $mday;
(By the way: when posting code you should use the
<code> tags so that your code looks, well, like code.
Read more in
Perl Monk Procedures.)