关于输出filehandle DATA 的内容的问题

关于输出filehandle DATA 的内容的问题

#!usr/local/bin/perl

print <DATA>;

__END__
ASDFAS
ASDG
以上所有的是程序,以下所有的是输出,为什么会多输出一行 print "\n";
ASDFAS
ASDG
print "\n";
。。。。。。。

环境:windows下用DzSoft Perl Editor测的


QUOTE:
原帖由 jayeley 于 2008-11-7 16:09 发表
#!usr/local/bin/perl

print "test";

__END__

上面代码没有输出,下面的代码有输出,为什么?
#!usr/local/bin/perl

print "test\n";

__END__

两个可能。
1,瞪大眼睛看仔细喽。
2,你的 bash 的提示符一定是五颜六色很花哨吧?
楼上的教训的是,不过第一个问题确实还是有,多数还是DzSoft Perl Editor的原因。
第二个问题我不是在linux下跑的,所以不是我眼花啊,是DzSoft Perl Editor确实没有返回。不过理论上知道原因了!


QUOTE:
原帖由 jayeley 于 2008-11-7 15:41 发表
#!usr/local/bin/perl

print ;

__END__
ASDFAS
ASDG
以上所有的是程序,以下所有的是输出,为什么会多输出一行 print "\n";
ASDFAS
ASDG
print "\n";

今天自己发现了原因,还是因为DzSoft Perl Editor。
DzSoft Perl Editor 会为每个程序最后加上一行 print "\n"; 再去执行,就是为了避免输出和提示符出现在一行而显示不了。
所以即使__END__后面什么也没有,输出DATA的话也会有一行print "\n";

在DzSoft Perl Editor 下使用DATA的话就要注意了!