次の警告が表示されます。
「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