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";
Partager