0

从一开始就道歉。我无法提供我正在使用的代码。

我正在通过 DBI 查询数据库并使用 perl 通过 fetchrow-array 打印输出并打印 $variable

但是数据库中的字段包含 \0 \t \r 等作为普通文本的一部分。

当这些字段通过变量和打印命令打印时,这些 \t \r \0 文本字符被错误地打印为制表符、换行符、十六进制字符。我看不出有办法告诉 print 忽略任何这样的字符串。

有任何想法吗?

谢谢。

4

1 回答 1

5

使用 DBI 获取数据和打印都不会转换\t为选项卡。Perl 转换的唯一时间\t是如果在双引号字符串文字[1]中找到它,也就是说在传递给perl,或的文件中do,或者在传递给or的字符串中。requireuseperl -eeval EXPR

如果您有一个选项卡,您正在采取步骤转换\t为一个选项卡,或者它实际上是数据库中的一个选项卡。


  1. 这包括qx没有 . 的替换的替换表达式/e
于 2013-09-17T13:17:24.703 回答