恥ずかしながら、知らなかったんだけど、Date::Simple内で使われている、POSIX::strftimeが悪さをして、タイムゾーンがおかしくなるという問題があると、会社の人に教えてもらいました。
blogかなんかで言及されてるかと思って探したら下記のところがみつかりました。
http://bikini-pro.com/2006/02/datesimple9.html
http://72.14.235.104/search?q=cache:xHkvALmNbGMJ:tokuhirom.dnsalias.org/~tokuhirom/tokulog/2131.html+Date::Simple+tzset&hl=ja&gl=jp&ct=clnk&cd=1
でも、遭遇したことないんだよなぁ...と思って、調べてみました。
で、どうも、threads を有効にしていると、POSIX::strftimeが変になるようです。
Perl 5.6.2 (thread無し)
Perl 5.8.4 (thread付き)
Perl 5.8.5 (thread付き)
Perl 5.8.7 (thread無し)
なんか、バージョンが違うのばっかりでアレですが、
threadなしでは問題が出ませんでした。
Perlのコンパイルではデフォルトはthread無しですんで、基本コンパイルして使ってたから、問題なかったということのようでした。ディストリビューションが用意してるパッケージはたいていthreadありなので、問題が出るってことでしょうね。
% perl -V| grep usethreads=define
じゃなきゃ大丈夫っぽいですね。