use DateTime; use DateTime::Format::Strptime; my @time = qw(Tue, 01 Jan 2013 16:05:53 +0000); my $tz=pop(@time); my $val="@time"; my $format = new DateTime::Format::Strptime( pattern => '%a, %d %b %Y %H:%M:%S', time_zone => "$tz", ); my $date = $format->parse_datetime($val); $date->set_time_zone("America/Chicago"); print $date->strftime("%a, %d %b %Y %H:%M:%S %Z")."\n";