0
我有一個從Perl執行的SQL語句。
$my_sql = qq (
SELECT 1 AS ....
);
然後我做
my $sm = $dbh->prepare($my_sql);
$sm->execute;
的問題是,我的SQL已正則表達式這樣在很多地方。
value ~ '^[1-9][0-9]?/[1-9][0-9]?/[1-9][0-9]{3}$':
所以我在執行perl腳本時因爲這些'$'而出錯。
Use of uninitialized value $' in concatenation (.) or string at
DBD::Pg::st execute failed: execute called with an unbound placeholder at
如何避免這些錯誤並使SQL語句正常工作?
你真的需要'qq'嗎? – choroba
使用'q()'來代替變量插值。 '?'也將需要轉義,請查看'DBI'的文檔以瞭解如何做到這一點。 – TLP