use DBI; my $dbh = DBI->connect( "dbi:Pg:host=$host;database=$database", $user, $password, { AutoCommit => 0, RaiseError => 1, }, ) or die "Can't connect: $DBI::errstr"; my $data = $dbh->selectall_arrayref(qq{ SELECT MAX(price) as max_price FROM data_log WHERE price_date > now()::date - 5 AND to_char(price_date, 'HH24') = '06' }) or die "Cannot prepare: $DBI::errstr"; print $data->[0][0];