I have checked both versions 0.38 and 0.40 of Perl's DateTime::TimeZone module (Gentoo's DateTime-TimeZone ebuild), and the TimeZoneCatalog.pm that gets installed does not contain AKST9AKDT, which is the identifier for a valid time zone in Alaska. Apparently, Debian patches in this diff: --- ./TimeZoneCatalog.pm 2006-02-08 12:05:13.000000000 -0500 +++ DateTime/TimeZoneCatalog.pm 2006-02-07 17:55:00.000000000 -0500 @@ -793,6 +793,7 @@ %DateTime::TimeZone::LINKS = ( + 'AKST9AKDT' => 'America/Anchorage', 'Africa/Timbuktu' => 'Africa/Bamako', 'America/Argentina/ComodRivadavia' => 'America/Argentina/Catamarca', 'America/Atka' => 'America/Adak', into that file. With that change in place, this quick test: perl -MData::Dumper -MDateTime -MDateTime::TimeZone -e '$tz = "AKST9AKDT"; $a = DateTime::TimeZone->new("name" => $tz); print &Dumper(\$a), "\n"' returns the expected data (in a _big_ hash), while it only says "Invalid offset: AKST9AKDT" without the patch. I noticed this because we have a customer in Alaska, and code to display the proper local time on their web interface works on all the Debian boxes in the office, but did not on my Gentoo box. I have also reported this to the module's maintainer via CPAN.
http://rt.cpan.org/Public/Bug/Display.html?id=17539 Marking this UPSTREAM, thanks.