STDOUT输出重定向的问题~

STDOUT输出重定向的问题~

比如在
for ($i=0;$i<100;$i++){print $i;} 这个脚本里,
执行脚本输出到屏幕是1行1行输出。
但是如果把输出重定向到一个文件里比如./sample.pl > sample.out里,却是等循环结束后一并写入文件的。
为什么会有这种区别呢?

如果用文件句柄的话,是否和>类似呢?
buffer 的问题
可以用 syswrite
不一样
用句柄操作,因为stdout为行缓存,那么每一行输出都对文件进行操作
而shell命令>,应只在前面的脚本执行后,再打开文件,把结果一次性进行输出。