- 论坛徽章:
- 0
|
本帖最后由 telecomshy 于 2011-08-16 17:12 编辑
读取一个文件:- #!/usr/bin/perl -w
- open(FH,"1111.txt");
- while($line=<FH>){
- print $line;
- }
复制代码 这样写,或者直接:- #!/usr/bin/perl -w
- open(FH,"1111.txt");
- while(<FH>){
- print <FH>;
- }
复制代码 都没问题,但是稍微改动一下:- #!/usr/bin/perl -w
- open(FH,"1111.txt");
- while(<FH>){
- $line=<FH>
- print $line;
- }
复制代码 读取出来的文件就会有丢失的情况。这是什么原因呢?这2种写法有什么区别吗?
后面一种写法也时准时不准的,跟1111.txt源文件好像还有关系。
======================================================
多日以后再来总结:
第一种不用多说,第二种print,就像版主所说,直接print FH,则是进行了一次foreach循环,将剩下的全部输出了。第三种则是将一行赋值给$line,因为此时$/默认为换行符,此时如果加一行代码.- #!/usr/bin/perl -w
- open(FH,"1111.txt");
- while(<FH>){
- local $/;
- $line=<FH>
- print $line;
- }
复制代码 则会和第二种一样,剩下的全部输出了。 |
|