我有一小段代码用于在这样的文本文件中打印内容,
use strict;
use warnings;
open (FILE, "2.txt") || die "$!\n";
my $var = <FILE>;
while ($var ne "")
{
print "$var";
$var = <FILE>;
}
Run Code Online (Sandbox Code Playgroud)
文字文件是,
line 1
line 2
line 3
Run Code Online (Sandbox Code Playgroud)
运行代码后,我收到这样的警告,
line 1
line 2
line 3
Use of uninitialized value $var in string ne at del.pl line 10, <FILE> line 3.
Run Code Online (Sandbox Code Playgroud)
如何克服这个警告.
从文件中读取的常用习语是:
open my $fh, '<', $file or die $!;
while (defined(my $line = <$fh>)) {
print $line, "\n";
}
Run Code Online (Sandbox Code Playgroud)
虽然while循环隐式测试是否定义了赋值结果,但为了清楚起见,最好明确地进行测试.
| 归档时间: |
|
| 查看次数: |
302 次 |
| 最近记录: |