请教一个printf的问题

请教一个printf的问题

处理一个文本文件in.txt, 内容如下:
...................
......[%b]......
....................

perl 代码如下:
#start
open IN, "in.tx";
open OUT, ">out.txt";

while(<IN>) {printf OUT $_;}

close IN; close OUT;
#end

得到的out.txt

...................
......[0]......
....................

问题:
     是否必须检测“%”才能打印出“%b”,而不是“0”呢?

谢谢


QUOTE:
原帖由 sleepflyer 于 2008-12-22 20:57 发表
是否必须检测“%”才能打印出“%b”,而不是“0”呢?

当然不是,肯定是你在其他地方搞错了


QUOTE:
原帖由 MMMIX 于 2008-12-22 21:39 发表

当然不是,肯定是你在其他地方搞错了

能否告诉错在什么地方吗?
不好意思我没太看明白
你想要的结果是打印出%d么
如果是那把printf换成print吧  如果是printf的话那$_就是他的第一个参数 第二个参数为空所以就打印出0了


QUOTE:
原帖由 DQP 于 2008-12-22 22:53 发表
不好意思我没太看明白 o" />ps:" />
你想要的结果是打印出%d么
如果是那把printf换成print吧  如果是printf的话那$_就是他的第一个参数 第二个参数为空所以就打印出0了

我想打印出带%的。
因为我要打印到一个文件,所以要用printf。
print 也可以打印到文件啊
perldoc -f print
=item print FILEHANDLE LIST


QUOTE:
原帖由 DQP 于 2008-12-23 10:38 发表
print 也可以打印到文件啊
perldoc -f print
=item print FILEHANDLE LIST

多谢,多谢。我对print的理解不深刻。问题解决。


QUOTE:
原帖由 sleepflyer 于 2008-12-22 21:56 发表


能否告诉错在什么地方吗?

oops,看岔了,我在测试的时候用了 print,用 printf 确实是有问题的。