免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5353 | 回复: 10

[已解决]perl 如果把文件内容原样输出,包括特殊字符,谢谢了 [复制链接]

论坛徽章:
0
发表于 2014-08-21 09:18 |显示全部楼层
本帖最后由 chinasea100 于 2014-08-21 10:13 编辑

$ARGV[0]是一个文件,文件中存在<>等特殊字符,我想把文件原样输出并邮件发出,下面是这段代码,如何才能原样输出?


文件内容:
aCritical>
<critical>:sadfdsafa
asdfas<critical>sadfdsafa
asfa<critical>sadfasfa
critical



想要的结果就是原样输入

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
发表于 2014-08-21 09:31 |显示全部楼层
下面你的代码执行后, @mail_body 里的结果, 不对么?
  1. <font size=2>aCritical></font><font size=2><critical>:sadfdsafa</font><font size=2>asdfas<critical>sadfdsafa</font><font size=2>asfa<critical>sadfasfa</font><font size=2>critical</font></table>
复制代码

论坛徽章:
0
发表于 2014-08-21 09:35 |显示全部楼层
回复 2# q1208c


    你执行后变为一行了吗?
我执行后的结果,<>与<>之间的内容被忽略了

想要得到的结果就是原样输出

论坛徽章:
0
发表于 2014-08-21 09:38 |显示全部楼层
回复 2# q1208c

应该是<符号被转义了,但不知道如何禁止转义


   

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
发表于 2014-08-21 09:39 |显示全部楼层
回复 3# chinasea100

你给的是半段代码, 我只在后面加了一个
  1. print @mail_body, "\n" ;
复制代码
我不知道你说的 "<>" 中的内容被忽略是在什么情况下.

论坛徽章:
27
水瓶座
日期:2014-08-22 21:06:34程序设计版块每日发帖之星
日期:2015-11-25 06:20:0015-16赛季CBA联赛之新疆
日期:2015-12-19 19:05:48IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:3315-16赛季CBA联赛之上海
日期:2016-04-15 19:51:31程序设计版块每日发帖之星
日期:2016-04-17 06:23:29程序设计版块每日发帖之星
日期:2016-04-23 06:20:00程序设计版块每日发帖之星
日期:2016-05-26 06:20:00每日论坛发贴之星
日期:2016-05-26 06:20:0015-16赛季CBA联赛之辽宁
日期:2017-02-16 23:59:47
发表于 2014-08-21 09:45 |显示全部楼层
这里是原样的输入,没有问题,是你的其它环节的代码。你这里print的命令都没有如何显示你的输出的。建议贴全你的代码

论坛徽章:
0
发表于 2014-08-21 09:46 |显示全部楼层
本帖最后由 chinasea100 于 2014-08-21 10:14 编辑

回复 5# q1208c


是不是XML格式,从而<>被转义了

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
发表于 2014-08-21 09:49 |显示全部楼层
回复 7# chinasea100

我的输出, 就是你的这段代码的结果.

如果你还认为有问题, 那要看你其余的代码了.
   

论坛徽章:
0
发表于 2014-08-21 09:51 |显示全部楼层
本帖最后由 chinasea100 于 2014-08-21 10:14 编辑

回复 8# q1208c

其实这是个发邮件的代码,目的就是想把一个文件里面的内容全部原样就邮件发出来
   

论坛徽章:
0
发表于 2014-08-21 09:54 |显示全部楼层
回复 8# q1208c

找到原因了,确实是XML输出<>被转义,把文件的<>替换为转义符就好了


<font>修改为& lt; font &gt;就可以正常输出<>

谢谢你的帮助


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP