[perl]print和syswrite

在perl中,print和syswrite都可以进行输出。print比较智能,会优化程序,所以我们一般都使用print来输出。不过在某些情况下,这种智能超出了我们的期待,就变成了“不听话”。比如: 

当你在循环里使用print时,print不会马上执行,而要等到循环结束才会输出。 

当你往文件里输出单个字符0x0a时,print会自动把它变成0x0d0a。一次我在用perl编程生成biztalk的schema文件时发现这个问题,搞了很久才搞定。 

对于上面这些情况,解决方法很简单,只要用syswrite来代替print就行了。

你可能感兴趣的:([perl]print和syswrite)