我收到以下警告:
“在 C:\tools\test.pl 第 17 行,DATA 第 1 行的连接 (.) 或字符串中使用未初始化的值。”
但是下一行将在__DATA__
没有任何警告的情况下被处理并得到这些:
test1b.txt:测试 test1c.txt:测试:测试
更奇怪的是,当我添加一行时:print "$line:".$'."\n";
警告消失了。
有人有一些线索吗?
#!/usr/bin/perl -w
use strict;
my $pattern='test';
my $output='$&';
while(<DATA>)
{
chomp;
my $line=$_;
chomp($line);
$line=~/$pattern/;
#print "$line:".$&."\n"; #why uncommenting this line make the following line pass without no warning.
my $result="$line:".eval($output)."\n";
print $result;
}
__DATA__
test1a.txt
test1b.txt
test1c.txt