IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

Use of uninitialized value in pattern match(m//)


Sujet :

Langage Perl

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 8
    Points : 7
    Points
    7
    Par défaut Use of uninitialized value in pattern match(m//)
    Bonjour,

    J'ai developpé un script un fait l'extraction des données via telnet pour les insérer par la suite dans une base de données ,le problème c'est que certaine données ne peuvent pas être exraites en affichant le message d'erreur suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Use of uninitialized value in pattern match (m//) at D:\ projet\classe2.pl line 56.
    Voici une partie du code que j'ai developpé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    my $dbh = DBI->connect($url, $user, $password) or die "!\n";
     
     my $p = Net::Ping->new();
     
     my $t = new Net::Telnet (Timeout=>undef, Errmode=>"return");
     
     $p->hires();
     
           my $sql="select * from secteur";
     
            my $req=$dbh->prepare($sql);
     
            $req->execute || die " Pb de la selection : $DBI::errstr";
     
            while (my (@info)=$req->fetchrow_array) {;
     
                my $sect=$info[0];
     
                print $sect."\n";
     
                my $host=$info[2];
     
                my $username=$info[4];
     
                my $passwd=$info[5];
     
                my ($ret, $duration, $ip) = $p->ping($host, undef);
     
                if ($ret) {
     
                  printf("$host is alive (packet return time: %.2f ms)\n", 1000 * $duration) ;
     
                  $t->open($host);
     
                  $t->login($username, $passwd);
     
                        my @class0 = $t->cmd("wmanIfBs classifier show");
                        my @match=amatch("instance:", @class0);
                        for(my $i=0; $i<=$#match; $i++){
     
                           my @ins=split(/[:]/,$match[$i]);
                           print $ins[0]."\t".$ins[$#ins];
                           my @info=split(/[.]/, $ins[$#ins]);
                           #print $info[$#info-1]."\t".$info[$#info]."\n";
                           my @class1 = $t->cmd("wmanIfBs classifier show instance 1.$info[$#info-1].$info[$#info]");
     
                           my @IpSource=amatch("IpSourceAddr:", @class1);
     
                           #my @ip1=split(/[a-zA-Z:.]/,$IpSource[0]);
     
                           my @ip1=$IpSource[0] =~ /(\d+.|\d+$)/g;
     
                           if (exists $IpSource[0] and $IpSource[0] =~ /(\d+.|\d+$)/g){
     
                           print @ip1;
                           print "\n";
     
                           }
     
    }
                  }
     
                $t->close();
                $p->close();
     
            }
     
            $req->finish;
    Merci de m'aider à trouver une solution à ce problème.

  2. #2
    Membre éprouvé Avatar de MarneusCalgarXP
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    911
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 911
    Points : 1 118
    Points
    1 118
    Par défaut
    C'est probablement que tu utilises une variable dont le contenu est indéfini dans une expression régulière ou un split...

Discussions similaires

  1. Use of uninitialized value in pattern match (m//)
    Par Vladkergan dans le forum Langage
    Réponses: 4
    Dernier message: 13/01/2008, 19h25
  2. Use of uninitialized value
    Par Djahny dans le forum Langage
    Réponses: 6
    Dernier message: 26/05/2007, 23h49
  3. Use of uninitialized value in string ne at
    Par Gad29 dans le forum Programmation et administration système
    Réponses: 4
    Dernier message: 09/05/2007, 13h49
  4. [USE STRICT] uninitialized value in print ...
    Par pop_up dans le forum Langage
    Réponses: 4
    Dernier message: 24/04/2006, 14h18
  5. [langage] Use of uninitialized value
    Par Batou dans le forum Langage
    Réponses: 2
    Dernier message: 21/02/2005, 10h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo