use strict; use warnings; use DBI; my $sid='MYDB'; my $user='myuser'; my $pass='mypass'; my $dbh = DBI->connect("dbi:Oracle:$sid", $user, $pass, { AutoCommit => 0, RaiseError => 0, PrintError => 1 } ); my $sth= $dbh->prepare(<errstr; select (FROM_TZ( CAST(sysdate as timestamp) , :TIMEZONE ) AT TIME ZONE :TIMEZONE ) AS MY_RESULT from dual SQL $sth->bind_param(':TIMEZONE', 'Europe/Berlin') or die $dbh->errstr;