Mercurial > repos > fgiacomoni > golm_ws_lib_search
annotate lib/conf.pm @ 3:28d579fa1718 draft default tip
Master branch Updating - - Fxx
| author | fgiacomoni | 
|---|---|
| date | Wed, 03 Oct 2018 05:35:16 -0400 | 
| parents | e3d43b8c987b | 
| children | 
| rev | line source | 
|---|---|
| 
0
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
1 package lib::conf ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
2 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
3 use strict; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
4 use warnings ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
5 use Exporter ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
6 use Carp ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
7 use Data::Dumper ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
8 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
9 use vars qw($VERSION @ISA @EXPORT %EXPORT_TAGS); | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
10 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
11 our $VERSION = "1.0" ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
12 our @ISA = qw(Exporter) ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
13 our @EXPORT = qw( as_conf get_value_from_conf check_path_and_file ) ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
14 our %EXPORT_TAGS = ( ALL => [qw( as_conf get_value_from_conf )] ) ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
15 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
16 =head1 NAME | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
17 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
18 conf - A module for manage pfem conf file | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
19 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
20 =head1 SYNOPSIS | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
21 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
22 use conf ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
23 my $object = conf->new() ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
24 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
25 =head1 DESCRIPTION | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
26 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
27 This module does manage conf file (extract all or selected fields) | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
28 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
29 =head1 METHODS | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
30 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
31 Methods are : | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
32 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
33 =head2 METHOD new | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
34 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
35 ## Description : new | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
36 ## Input : $self | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
37 ## Ouput : bless $self ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
38 ## Usage : new() ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
39 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
40 =cut | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
41 ## START of SUB | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
42 sub new { | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
43 ## Variables | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
44 my $self={}; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
45 bless($self) ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
46 return $self ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
47 } | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
48 ### END of SUB | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
49 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
50 =head2 METHOD as_conf | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
51 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
52 ## Description : permet de creer l'object conf a partir d'un fichier de conf de type KEY=VALUE | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
53 ## Input : $file | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
54 ## Ouput : $oConf (a hash) | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
55 ## Usage : my ( $oConf ) = as_conf( $file ) ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
56 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
57 =cut | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
58 ## START of SUB | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
59 sub as_conf { | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
60 ## Retrieve Values | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
61 my $self = shift ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
62 my ( $file, $separator ) = @_ ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
63 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
64 # if (!defined $separator) { $separator = ';' } ## set separator to ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
65 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
66 if ( !defined $file ) { croak "Can't create object with an none defined file\n" ; } | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
67 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
68 my %Conf = () ; ## Hash devant contenir l'ensemble des parametres locaux | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
69 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
70 if (-e $file) { | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
71 open (CFG, "<$file") or die "Can't open $file\n" ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
72 while (<CFG>) { | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
73 chomp $_ ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
74 if ( $_ =~ /^#(.*)/) { next ; } | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
75 elsif ($_ =~/^(\w+?)=(.*)/) { ## ALPHANUMERIC OR UNDERSCORE ONLY FOR THE KEY AND ANYTHING ELSE FOR VALUE | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
76 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
77 my ($key, $value) = ($1, $2) ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
78 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
79 if (defined $separator) { | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
80 if ( $value=~/$separator/ ) { ## is a list to split | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
81 my @tmp = split(/$separator/ , $value) ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
82 $Conf{$key} = \@tmp ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
83 } | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
84 } | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
85 else { | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
86 $Conf{$key} = $value ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
87 } | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
88 } | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
89 } | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
90 close(CFG) ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
91 } | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
92 else { | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
93 croak "Can't create object with an none existing file\n" ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
94 } | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
95 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
96 return ( \%Conf ) ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
97 } | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
98 ## END of SUB | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
99 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
100 =head2 METHOD as_conf_list | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
101 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
102 ## Description : permet de charger une liste txt en array | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
103 ## Input : $file | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
104 ## Output : elements | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
105 ## Usage : my ( elements ) = as_conf_list( $conf_file ) ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
106 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
107 =cut | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
108 ## START of SUB | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
109 sub as_conf_list { | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
110 ## Retrieve Values | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
111 my $self = shift ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
112 my ( $file ) = @_ ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
113 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
114 my @elements = () ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
115 if ( !defined $file ) { croak "Can't create object with an none defined file\n" ; } | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
116 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
117 if (-e $file) { | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
118 open (CFG, "<$file") or die "Can't open $file\n" ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
119 while (<CFG>) { | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
120 chomp $_ ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
121 if ( $_ =~ /^#(.*)/) { next ; } | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
122 elsif ($_ =~/^(.*)/) { if (defined $1) { push (@elements, $1) ; } } | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
123 } | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
124 } | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
125 else { | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
126 croak "Can't create object with an none existing file\n" ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
127 } | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
128 return(\@elements) ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
129 } | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
130 ## END of SUB | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
131 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
132 =head2 METHOD get_value_from_conf | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
133 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
134 ## Description : permet de retourner une valeur du hash de conf a partir d'une key | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
135 ## Input : $oConf, $Key | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
136 ## Ouput : $Value | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
137 ## Usage : my ( $Value ) = get_value_from_conf( $oConf, $Key ) ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
138 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
139 =cut | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
140 ## START of SUB | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
141 sub get_value_from_conf { | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
142 ## Retrieve Values | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
143 my $self = shift ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
144 my ( $oConf, $Key ) = @_ ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
145 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
146 my $Value = undef ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
147 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
148 if ( defined $oConf ) { | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
149 if ( defined $oConf->{$Key} ) { | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
150 $Value = $oConf->{$Key} ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
151 } | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
152 } | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
153 else { | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
154 croak "Can't manage value with undefined object\n" ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
155 } | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
156 return($Value) ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
157 } | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
158 ## END of SUB | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
159 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
160 =head2 METHOD get_value_from_conf | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
161 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
162 ## Description : permet de retourner une valeur du hash de conf a partir d'une key | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
163 ## Input : $oConf, $Key | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
164 ## Ouput : $Value | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
165 ## Usage : my ( $Value ) = get_value_from_conf( $oConf, $Key ) ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
166 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
167 =cut | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
168 ## START of SUB | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
169 sub split_value_from_conf { | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
170 ## Retrieve Values | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
171 my $self = shift ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
172 my ( $oConf, $Key, $sep ) = @_ ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
173 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
174 my $value = undef ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
175 my @values = () ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
176 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
177 if ( defined $oConf ) { | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
178 if ( defined $oConf->{$Key} ) { | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
179 $value = $oConf->{$Key} ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
180 @values = split ( /$sep/, $value) ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
181 } | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
182 } | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
183 else { | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
184 croak "Can't manage value with undefined object\n" ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
185 } | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
186 return(\@values) ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
187 } | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
188 ## END of SUB | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
189 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
190 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
191 =head2 METHOD check_path_and_file | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
192 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
193 ## Description : permet de verifier les path et la presence des exe decrits dans le file conf. Bloque le script en cas de probleme | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
194 ## Input : $oConfs | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
195 ## Ouput : NA | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
196 ## Usage : &get_value_from_conf( $oConf ) ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
197 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
198 =cut | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
199 ## START of SUB | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
200 sub check_path_and_file { | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
201 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
202 my $self = shift ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
203 my ( $oConfs ) = @_ ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
204 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
205 foreach my $conf ( keys %{ $oConfs } ) { | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
206 if ( $conf =~ /^FILE/ ) { | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
207 if ( -e $oConfs->{$conf} ) { | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
208 if ( -s $oConfs->{$conf} ) { next ; } | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
209 else { carp "[Warning] : The size of file $oConfs->{$conf} is null\n" ; } | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
210 } | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
211 else { | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
212 carp "[Warning] : The file $oConfs->{$conf} doesn't exist\n" ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
213 } | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
214 } | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
215 elsif ( $conf =~ /^PATH/ ) { | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
216 if ( -d $oConfs->{$conf} ) { next ; } | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
217 else { carp "[Warning] : The dir $oConfs->{$conf} doesn't exist\n" ; } | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
218 } | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
219 else { next ; } | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
220 } | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
221 return ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
222 } | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
223 ## END of SUB | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
224 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
225 1 ; | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
226 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
227 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
228 __END__ | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
229 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
230 =head1 SUPPORT | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
231 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
232 You can find documentation for this module with the perldoc command. | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
233 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
234 perldoc conf.pm | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
235 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
236 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
237 =head1 Exports | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
238 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
239 =over 4 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
240 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
241 =item :ALL is as_conf get_value_from_conf | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
242 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
243 =back | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
244 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
245 =head1 AUTHOR | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
246 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
247 Franck Giacomoni E<lt>franck.giacomoni@clermont.inra.frE<gt> | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
248 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
249 =head1 LICENSE | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
250 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
251 This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
252 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
253 =head1 VERSION | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
254 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
255 version 1 : 10 / 02 / 2013 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
256 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
257 version 2 : ?? | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
258 | 
| 
 
e3d43b8c987b
Init repository with last tool-bank-golm-lib_search master version
 
fgiacomoni 
parents:  
diff
changeset
 | 
259 =cut | 
