0

我的代码中有一些错误。此代码在本地工作,但不在我的服务器上。

#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 行的拆分中使用未初始化的值 $son。

4

1 回答 1

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) {
于 2012-05-31T15:50:48.350 回答