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 :

Question opérateur de différence


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 65
    Points : 22
    Points
    22
    Par défaut Question opérateur de différence
    Bonjour,

    J'ai fait un script, qui fonctionne très bien, mis à part au niveau de la comparaison entre deux jours, je m'explique voici mon script :

    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
    use strict;
     
    my $FicLog = "";
     
     
    $FicLog = 'd:\partage\sauvegarde.log';
     
    # Date et Heure du Jour
    my ($sec,$min,$hour,$day,$mon,$year,$wday,$yday) = localtime();
    $mon++;
    $year += 1900;
    my $Date_W=sprintf("%02d/%02d/%04d",$day,$mon,$year);
     
    if (!open(LOG, $FicLog)) {
    	print "ERREUR !!! IMPOSSIBLE D'OUVRIR LE FICHIER: $FicLog";
    	exit 2;
    }
     
    while (<LOG>) {
      chomp;
      if (/ERREUR/) {
        print "$_";
        exit 2;
      } elsif (/SAUVEGARDE DU SERVEUR LXFAX131 - DATE : (...) (...)  ([0-9])/) {
    	print "$1\n";
    	print "$2\n";
    	print "$3\n";
    	my $jour = $3;
    #    # Control de la date
    #    if ($jour ne $day) {
    #      print "LE FICHIER LOG A PLUS D'UN JOUR - VERIFIER LA TACHE PLANIFIE SUR LE SERVEUR";
    #      exit 2;
    #    }
     
    }	elsif (/>>>> COPIE DES FICHIERS DE LA BASE DE DONNES REUSSIE/) {
     
      	print "$_";
      	exit 0;  
    	}
    }
    close (LOG);
    print "PROBLEME SUR LA SAUVEGARDE DU SERVEUR LXFAX131";
    exit 2;
    ICI : $jour n'est pas égal à $day ($jour est égal à 3 et $day à 9)

    Il devrait donc logiquement m'afficher ce message : LE FICHIER LOG A PLUS D'UN JOUR - VERIFIER LA TACHE PLANIFIE SUR LE SERVEUR

    Sauf que non il passe à la suite et je ne comprends pas pourquoi.

    Merci pour vos futur réponses.

  2. #2
    Membre habitué Avatar de PadawanInPerl
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2009
    Messages : 462
    Points : 186
    Points
    186
    Par défaut
    Hello,

    si tes variables sont des numériques tu n'utilises pas le bon comparateur

    Windows 7, 64 bit
    Perl 5.12, ActivePerl
    Python 3.2, ActivePython ( NOVICE ! )

  3. #3
    Membre du Club
    Femme Profil pro
    ingénieur d'étude en bioinformatique
    Inscrit en
    Février 2011
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : ingénieur d'étude en bioinformatique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2011
    Messages : 45
    Points : 43
    Points
    43
    Par défaut
    enfin plutot
    pour différent.
    Mais j'ai testé avec ne et ca marche ...
    Du coup je comprends pas ton probleme. Peut etre que c'est dans l'expression regulière que ca marche pas.

  4. #4
    Membre habitué Avatar de PadawanInPerl
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2009
    Messages : 462
    Points : 186
    Points
    186
    Par défaut
    Citation Envoyé par laura_ Voir le message
    enfin plutot
    pour différent.
    Mais j'ai testé avec ne et ca marche ...
    Du coup je comprends pas ton probleme. Peut etre que c'est dans l'expression regulière que ca marche pas.
    pas faux...désolé.
    Windows 7, 64 bit
    Perl 5.12, ActivePerl
    Python 3.2, ActivePython ( NOVICE ! )

  5. #5
    Membre habitué Avatar de PadawanInPerl
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2009
    Messages : 462
    Points : 186
    Points
    186
    Par défaut
    ça marche aussi chez moi !

    vérifies que ton $3 que tu mets dans $jour contient bien ce que tu dis.
    Windows 7, 64 bit
    Perl 5.12, ActivePerl
    Python 3.2, ActivePython ( NOVICE ! )

  6. #6
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 65
    Points : 22
    Points
    22
    Par défaut
    ça ne marche toujours pas, je vais essayer de refaire le script bien propre et je vous le publierais avec le fichier log qu'il analyse.

    Edit : Ca marche, quelqu'un sais par contre comment faire des doubles condition du genre : si $jour != $day et $month != $mois ça dans une même condition il suffit de rajouter & ou il faut faire autre chose.

    Et une autre question, j'ai mes mois en anglais j'aimerais que par exemple que dès qu'il y a marqué Jan qu'il sois capturé et transformé en chiffre du genre 1 puis Feb en 2, etc...

Discussions similaires

  1. opérateur de différence
    Par papaye0 dans le forum Langage
    Réponses: 2
    Dernier message: 08/02/2011, 20h01
  2. Question opérateur =
    Par carton99 dans le forum Débuter
    Réponses: 4
    Dernier message: 10/04/2010, 13h21
  3. Question opérateurs binaires
    Par Evocatii dans le forum Langages de programmation
    Réponses: 13
    Dernier message: 15/01/2009, 19h44
  4. Réponses: 4
    Dernier message: 26/07/2007, 21h45
  5. [c#]Question sur les différences de version
    Par Julien1987 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 23/02/2007, 17h37

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