わからず悩んでます。

perlでoracleからbind_paramを使用して
値を取得したいのですがうまくいきません。

$AAA = 'hoge1';
$BBB = 'hoge2';(実際はWEB上からの入力値)

SQL文は"select * from TBL whrere AAA = :sid and BBB :hid;"
$sh->open();
$sh->bind_param(':sid',$AAA);
$sh->bind_param(':hid',$BBB);
$sh->execute();

$sh->execute();でエラー
エラー内容は型があってないとのことです

debugすると
select * from TBL whrere AAA = 'hoge1' and BBB = "hoge2"と出力されており、、
$BBBにダブルクォーテーションがついてしまいます。
直打ちで'hoge2'とすれば問題なく取得できました。
どうすればダブルクォーテーションからシングルダブルクォーテーションに
なるのでしょうか?

どなたかよろしくお願いします。