這是怎麼回事?我創建了一個簡單的程序來讀取行並在文件輸出上打印。但它拋出了一些錯誤......Perl - 未初始化的變量
下面的代碼和它的解釋是對的評論:
use warnings;
use List::MoreUtils qw(indexes);
my @array_words =();
my @array_split =();
my @array_of_zeros = (0);
my $index = 0;
open my $info, 'models/busquedas.csv';
open my $model, '>>models/model.txt';
#First while is to count the words and store it into an array
while(my $line = <$info>) {
@array_split = regex($line);
for (my $i=0; $i < scalar(@array_split); $i++) {
# Get the index if the word is repeated
$index = indexes { $_ eq $array_split[$i] } $array_words[$i];
# if the word is not repeated then save it to the array by
# checking the index
if ($index != -1){ push(@array_words, $array_split[$i]); }
}
}
print $model @array_words;
sub regex{
# get only basic info like: 'texto judicial madrid' instead of the full url
if ($_[0] =~ m/textolibre=/ and
$. < 3521239 &&
$_[0] =~ m/textolibre=(.*?)&translated/) {
return split(/\+/, $_[0]);
}
}
而且我不明白的錯誤是:
Use of uninitialized value $index in numeric ne (!=) at classifier.pl line 21, <$info> line 12216.
Use of uninitialized value $index in numeric ne (!=) at classifier.pl line 21, <$info> line 12216.
Use of uninitialized value $index in numeric ne (!=) at classifier.pl line 21, <$info> line 12216.
Use of uninitialized value $index in numeric ne (!=) at classifier.pl line 21, <$info> line 12217.
Use of uninitialized value $index in numeric ne (!=) at classifier.pl line 21, <$info> line 12217.
Use of uninitialized value $index in numeric ne (!=) at classifier.pl line 21, <$info> line 12217.
Use of uninitialized value $index in numeric ne (!=) at classifier.pl line 21, <$info> line 12217.
Use of uninitialized value $index in numeric ne (!=) at classifier.pl line 21, <$info> line 12217.
Use of uninitialized value $index in numeric ne (!=) at classifier.pl line 21, <$info> line 12218.
Use of uninitialized value $index in numeric ne (!=) at classifier.pl line 21, <$info> line 12218.
爲什麼未初始化$index
?我已經聲明並用0值初始化它! 我該如何解決這個問題?
我想你已經誤解了'索引'函數的工作原理。它應該有一個迭代列表,而不是單個元素。它返回索引,並且您已經擁有該項目的索引:'$ i'。 – TLP
爲什麼在'@ array_words'的單個元素上調用'indexes'而不是整個數組? – nwellnhof
但是我怎麼能在其他語言上使用.indexof()函數呢? @nwellnhof –