0

最初から失礼します。私が使用しているコードを提供することはできません。

DBI 経由でデータベースにクエリを実行し、perl を使用して fetchrow-array 経由で出力を出力し、$variable を出力しています

ただし、データベース内のフィールドには、通常のテキストの一部として \0 \t \r などが含まれています。

これらのフィールドが変数と印刷コマンドを介して印刷される場合、これらの \t \r \0 テキスト文字は誤ってタブ、改行、16 進文字として印刷されます。このような文字列を無視するように print に指示する方法はありません。

何か案は?

ありがとう。

4

1 に答える 1

5

DBI を使用したデータの取得も印刷も\tタブに変換されません。Perl が変換\tするのは、二重引用符で囲まれた文字列リテラル[1]perl 、つまり、dorequireまたはに渡されたファイル、またはまたはuseに渡された文字列で見つかった場合のみです。perl -eeval EXPR

タブがある場合は、タブに変換するための手順を実行している\tか、実際にはデータベース内のタブです。


  1. これにはqx、 および のない置換の置換式が含まれ/eます。
于 2013-09-17T13:17:24.703 に答える