Как использовать запрос с заполнителем в кавычках? (perl / postgresql)

Я пытаюсь выполнить следующий скрипт:

#!/usr/bin/perl -w

use strict;
use DBI;

my $db = "Pg";
my $db_database = "whatever";
my $user = "whatever";
my $password = "whatever";

my $dbh = DBI->connect("dbi:$db:dbname=$db_database", $user, $password);

my $query = $dbh->prepare (q{SELECT
                   arrival_date - INTERVAL '? MINUTE'
                   FROM emails LIMIT 1})
  or die ("unable to prepare");
$query->execute(60) or die("unable to execute");

print $query->fetchrow_array, "\n";

(arrival_date имеет следующий формат: временная метка с часовым поясом NOT NULL по умолчанию CURRENT_TIMESTAMP)

Проблема в том, что вопрос заполнитель mark не обнаружен, потому что он заключен в одинарные кавычки:

DBD::Pg::st execute failed: called with 1 bind variables when 0 are needed 

Не помогает, если я использую qq{}, заполнитель $1 и пробовал несколько вариантов с $dbh->quote. Как мне заставить это работать?

5
задан atlau 18 May 2012 в 21:04
поделиться