我的代码中有一些错误。此代码在本地工作,但不在我的服务器上。
#Vérification de la concordance BD -> Sons
for (my $k = 0; $k < scalar(@tableau_de_donnees); $k++) {
my $donnee = $tableau_de_donnees[$k];
if ($donnee) {
my @une_donnee = split(/\./, $donnee); #enlève l'extension
for (my $l = 0; $l < scalar(@tableau_de_sons); $l++) {
my $son = $tableau_de_donnees[$l];
my @un_son = split(/\./, $son); #enlève l'extension
if ($une_donnee[0] eq ($un_son[0])) {
$trouver_son = "1";
}
}
if ($trouver_son == "0") {
print "Le fichier "
. $tableau_de_donnees[$k]
. " est introuvable. \n";
}
$trouver_son = "0";
} else {
print "Fin";
}
}
这是日志:
在verif_db_physio.pl第141行第2行的字符串eq中使用未初始化的值。
在verif_db_physio.pl第139行第2行的split中使用未初始化的值$ son。
答案 0 :(得分:3)
我认为这样:
my $son = $tableau_de_donnees[$l];
应该是这个::
my $son = $tableau_de_sons[$l];
您可以通过更改
来完全避免此问题for (my $l = 0; $l < scalar(@tableau_de_sons); $l++) {
my $son = $tableau_de_donnees[$l];
到
for my $son (@tableau_de_sons) {