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 :

Mise en forme de sortie en perl


Sujet :

Langage Perl

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    mai 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mai 2007
    Messages : 34
    Points : 24
    Points
    24
    Par défaut Mise en forme de sortie en perl
    Bonjour,

    J’espère être dans la bonne partie du forum pour poser ma question.

    Voila j'ai fais un script en perl qui me permet de lister des modules suivant 3 tests.
    Test 1 si $propertyvalue eq $defaultproperty alors ok
    Test 2 si $defaultproperty eq '' alors NOK pas de default propoerties
    Test 3 si (($defaultproperty ne $propertyvalue) && ($defaultproperty ne '') && ($propertyvalue ne '')) alors NOK car le module n'a pas de valeur par default.

    Script ci-dessous:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    # Recupération des valeurs de la requete dans tableau @vdg
    while(@vdg = $sth->fetchrow_array()) {
    $id=$vdg[0];
    $propertykey=$vdg[1];
    $propertyvalue=$vdg[2];
    $defaultproperty=$vdg[3];
     
    if ($propertyvalue eq $defaultproperty){print "OK module $propertykey \n";}
     
    if ($defaultproperty eq ''){print "WARNING module $propertykey pas de default propertie\n";}
     
    if (($defaultproperty ne $propertyvalue) && ($defaultproperty ne '') && ($propertyvalue ne '')) { print "CRITIQUE module $propertykey n'a pas la valeur par defaut\n";}
     
    }
    Mon problème est sur la sortie. Actuellement je vais avoir autant de ligne de sortie que de module à checker. J'aimerai n'avoir qu'une seule ligne en sortie avec toutes les infos du genre:

    OK pour tout les modules
    WARNING module test, test1 pas de default propertie
    CRITIQUE module test1, test2 n'a pas la valeur par defaut

    Merci pour votre aide.

  2. #2
    Membre émérite
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut
    Si j'ai bien compris le problème, voici ce que je ferais :
    1) Avant le while, je créerais 3 arrays, une par test.
    2) Je les remplirais au fur et à mesure dans le while.
    3) Après le while, j'afficherais les 3 listes.
    -- Jasmine --

  3. #3
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : mai 2012
    Messages : 3 612
    Points : 12 465
    Points
    12 465
    Billets dans le blog
    1
    Par défaut
    Peut-être un truc simple dans ce genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    my $err_message = "";
    if ($propertyvalue eq $defaultproperty){
        $err_message =  "OK module $propertykey \n";
    }
    if ($defaultproperty eq ''){
        $err_message .= "WARNING module $propertykey pas de default propertie\n";
    }
    if (($defaultproperty ne $propertyvalue) && ($defaultproperty ne '') && ($propertyvalue ne '')) { 
        $err_message .= "CRITIQUE module $propertykey n'a pas la valeur par defaut\n";
    }
     
    print $err_message if $err_message; # imprime le message d'erreur s'il n'est pas une chaîne vide
    }

Discussions similaires

  1. Mise en forme de sortie
    Par Flodelarab dans le forum Langage SQL
    Réponses: 4
    Dernier message: 28/08/2014, 17h58
  2. shell + mise en forme + sortie html
    Par tetzispa dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 19/09/2011, 22h56
  3. Mise en forme de sortie
    Par soria_t dans le forum C
    Réponses: 11
    Dernier message: 05/04/2007, 16h30
  4. Mise en forme HTML
    Par Regis.C dans le forum XML/XSL et SOAP
    Réponses: 5
    Dernier message: 25/04/2004, 12h55
  5. Mise en forme fichier avant Import
    Par jeff37 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 21/04/2004, 16h16

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