use Time::Zone;
my $TZ = 'America/Los_Angeles';
my $now = scalar localtime time() + tz_offset($TZ);
print "It is now $now\n";
, кажется, работает здесь. («Скаляр» здесь избыточен, так как $ теперь дает скалярный контекст, но также приятно быть явным.)
Согласно комментарию, я получил оригинальную проблему. Похоже, это решает проблему для меня, но, учитывая, что у других нет первоначальной проблемы, бит «кажется, здесь работает» предназначен для того, чтобы эти люди могли попробовать это решение, чтобы убедиться, что оно ничего не сломает. , (Мне интересно, заметил ли Альнитак разницу между тем, что я написал, и оригинальным сообщением?)