いくつかのコードに問題があり、誰かが助けてくれるかどうか疑問に思っています。
基本的に、データベースに対してisqlクエリを実行し、それをスカラー変数に割り当てようとしています。isqlコマンドは、パイプ記号として定義されている列区切り記号を使用します。
だから私はそれをそのように設定しています:
my $command = "isql -S -U -s| -i";
my $isql_output = `$command`;
isqlコマンドは単独で機能しますが、バックティックとして発行されると、パイプで停止します。$command
サブ文字列を使用して文字列を連結し、一重引用符を使用し、バックスラッシュを使用してアイテムをエスケープして-s\"\|\"
みました。qx
バックティックの代わりに使ってみました。
残念ながら、私は現在、アップグレードの範囲が限定された古いバージョンのperl(v5.6.1)を使用しているため、これを解決できるかどうかわかりません。