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 :

Problème avec ordre des modules


Sujet :

Langage Perl

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Problème avec ordre des modules
    Bonjour,

    Je me retourne vers vous pour un problème que je n'arrive pas à résoudre, pourtant ca semble simple mais impossible d'obtenir un fonctionnement correct.

    J'utilise Getopt::Long pour gérer mes arguments et Log::StdLog pour mes logs. Le problème est que je n'arrive pas à récupérer $cmd_args_ref->{"log_level"} dans Log::StdLog!

    Pourtant je le récupère bien mais c'est comme si au moment de la compilation
    Log::StdLog ne pouvait récupérer le hash de GetOptions. Enfin je dis ca, j'en sais rien a vrai dire.

    Si quelqu'un à une idée pour me sortir de ce problème.

    Merci d'avance,

    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
    #!/usr/bin/perl
     
    use warnings;
    use strict;
    use Getopt::Long;
     
    my %cmd_args = ();
    my $cmd_args_ref = \%cmd_args;
    GetOptions(
        "log-level=s"   =>  \$cmd_args{"log_level"},
    );
     
    sub log_format {
        my ($date, $pid, $level, @message) = @_;
        return "[$date][$level]: " . join(q{}, @message);
    }
     
    use Log::StdLog {
        format => \&log_format,
        file => "$0.log",
        level => $cmd_args_ref->{"log_level"},
    };
     
    print "pilip :", $cmd_args_ref->{"log_level"}, "\n";

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Bon,
    je laisse la solution que la ml perl-beginners m'a donnée,
    Il faut utiliser un block BEGIN

    Le script devient :

    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
    #!/usr/bin/perl
     
    use warnings;
    use strict;
    use Getopt::Long;
     
    #my %cmd_args = ();
    #my $cmd_args_ref = \%cmd_args;
    my (%cmd_args, $cmd_args_ref);
     
    BEGIN {
        GetOptions(
            "log-level=s"   =>  \$cmd_args{"log_level"},
        );
        $cmd_args_ref = \%cmd_args;
    }
     
    sub log_format {
        my ($date, $pid, $level, @message) = @_;
        return "[$date][$level]: " . join(q{}, @message);
    };
     
    use Log::StdLog {
        format => \&log_format,
        file => "$0.log",
        level => $cmd_args_ref->{log_level},
    };
    print "$cmd_args_ref->{log_level}";
    Une autre solution donnée consiste à ajouter la directive __END__

    Voilà,
    rafailow

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JAXB] Problème d'ordre des éléments avec JAXB
    Par blessed1213 dans le forum Format d'échange (XML, JSON...)
    Réponses: 0
    Dernier message: 07/04/2014, 12h43
  2. Réponses: 5
    Dernier message: 22/08/2013, 16h30
  3. problème avec ordre des champs d’une requête
    Par Bonero dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 17/10/2012, 10h44
  4. problème de timeout avec utilisation des modules dbus & gobject
    Par Makiavelik dans le forum Général Python
    Réponses: 1
    Dernier message: 06/08/2011, 09h56
  5. [MySQL] Problème avec affichage des données d'une base MySQL
    Par leclone dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 27/12/2006, 12h40

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