Use the POSIX core module. Example:
use POSIX;
$ENV{TZ} = 'Europe/Madrid';
$time_t = POSIX::mktime( 10, 30, 17, 4, 4, 113 );
print POSIX::ctime($time_t); #<-- prints: Sat May 4 17:30:10 2013
$ENV{TZ} = 'Europe/London';
print POSIX::ctime($time_t); #<-- prints: Sat May 4 16:30:10 2013