這是爲什麼產生錯誤:Perl的使用,以代替未初始化值的
在替代(S ///)使用未初始化值$比賽...
my $sub = 0; #added
my $m; #added
open (FH1, "<FILE1.txt") || die $!;
open (FH2, "<FILE2,txt") || die $!;
my @strings = (<FH2>); #each line of the file into an array
close FH2 or die $!;
my $here;
while (my $url = <FH1>) {
chomp $url;
foreach my $sub (@strings) {
my $repeat = 1;
while ((my $m = $_) =~ s|(?<![/])(?:[/](?![/])[^/]*){$repeat}[^/]*\K|$sub|) #<-- Error states the error is occurring here
{
print "$m\n";
$repeat++;
push(@{ $here->{$url} }, $m);
}
}
}
有肯定是在文件中的東西(因爲我可以打印foreach
循環中的每一行),並且正則表達式替換在我試圖將其移入此程序之前已經在其自己的程序中進行過測試。
這是我明顯忽略的東西嗎?
你的幫助會非常讚賞,非常感謝
感謝**縮進你的代碼**正確 – 2013-02-27 17:00:25
歉意,感謝您的擡頭 – 2013-02-27 17:09:22