perl从数据库读取,字段具有\ 0 \ t作为普通文本

时间:2013-09-17 12:10:00

标签: perl cgi dbi

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

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

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

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

有什么想法吗?

感谢。

1 个答案:

答案 0 :(得分:5)

使用DBI或打印获取数据都不会将\t转换为选项卡。 Perl转换\t的唯一时间是它是否在双引号字符串文字 [1] 中找到,也就是说在传递给perl的文件中{{1} }},dorequire,或传递给useperl -e的字符串。

如果您有一个标签,则表示您正在采取措施将eval EXPR转换为标签,或者它实际上是数据库中的标签。


  1. 这包括\t以及没有qx的替换表达式。