Bonjour à tous,
vraiment désolez n'étant pas un connaisseur, je suis néanmoins obliger de faire fonctionner un outils d'analyse réseau , pour lequel le script ci joint doit permettre de générer un fichier ayant la liste de mes sous réseaux, celui ci se connectant à une base mysql locale.
Pourriez vous silvousplait m'aider à le compléter, je suis archi nulle en perl, mais excellent sur d'autres domaines..... bien 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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
#! /usr/bin/perl
 
package SubnetFileBuilder ;
 
# La classe SubnetFileBuilder contient une opération de reconstruction du fichier
# des sous-réseaux (organismes).
 
use strict ;
use POSIX ;
 
use Configuration ;
 
use DBI;
#use File::Path; # pour utiliser  mkpath( "$ROOTbase/$DIR" , 0 , $perm );  et rmtree()
use File::Compare;
use File::Copy ;
# use English ;
# use File::Temp qw/ tempdir /;
use Carp qw(cluck confess); 
 
 
#-------------------------------------------------------------------------------------------
# Génération du(es) fichier(s) des organismes à partir de la base de données  des numéros IPs
# Les noms sont de la forme :
#            organismes_nom.entites_nom.sites_nom
#
# Le nom du fichier généré est recherché dans le fichier de configuration passé en paramètre
# (rubrique NETMAT-ORGA-FILE).
# Si un fichier de même nom existe déjà il est sauvegardé dès lors que la nouvelle version
# est différente de l'ancienne.
#
# Si le fichier de configuration contient un paramètre NETMAT-MERGING-FILE-NAME et qu'il est
# différent de NETMAT-ORGA-FILE un fichier à ce nom est obtenu par copie de NETMAT-ORGA-FILE 
# et concaténation de la ligne
# 0.0.0.0/0    "BLACK_HOLE" 
#
# Les appels sont de la forme : 
#     SubnetFileBuilder::buildSubnetFile($DBIdriver,$SQLhost,$SQLdb,$SQLuser,$SQLpasswd)
# ou
#     SubnetFileBuilder::buildSubnetFile()
#
# Les paramètres sont 
#     $DBIdriver : le type de base de données utilisée
#     $SQLhost : la machine hôte de la base
#     $SQLdb  : le nom de la base
#     $SQLuser : le nom de l'utilisateur de la base
#     $SQLpasswd : le mot de passe de l'utilisateur
# Si la fonction est utilisée sans paramètre un dialogue permet leur saisie 
# sur l'entrée standard
# 
# Retourne un libellé d'erreur en cas de problème, la chaîne vide sinon.
#
#
sub buildSubnetFile  {
 
    DBIdriver :  "DBD::mysql";
    SQLhost :  "localhost";
    SQLdb  : "netmatdb";
    SQLuser : "netMAT";
    SQLpasswd : "F1zKbtCd91";
 
} # buildSubnetFile()
 
 
 
 
 
#-------------------------------------------------------------------------------------------
# Liste des organismes de la base de données  des numéros IPs.
#
# Les appels sont de la forme : 
#     SubnetFileBuilder::listSubnets($DBIdriver,$SQLhost,$SQLdb,$SQLuser,$SQLpasswd)
# ou
#     SubnetFileBuilder::listSubnets()
#
# Les paramètres sont 
#     $DBIdriver : le type de base de données utilisée
#     $SQLhost : la machine hôte de la base
#     $SQLdb  : le nom de la base
#     $SQLuser : le nom de l'utilisateur de la base
#     $SQLpasswd : le mot de passe de l'utilisateur
# Si la fonction est utilisée sans paramètre un dialogue permet leur saisie 
# sur l'entrée standard
# 
# Retourne un libellé d'erreur en cas de problème, la chaîne vide sinon.
#
#
sub listSubnets  {
 
 
## A COMPLETER 
## Le code de la fonction doit être placé avant le return ci-dessous qui
## dès lors peut être supprimé.
  return "SubnetFileBuilder::listSubnets() n'est pas opérationnelle !" 
 
} # listSubnets()
 
 
 
#-------------------------------------------------------------------------------------------
# Génération du fichier des sous-réseaux à partir de la base de données  des numéros IPs.
# Le nom du fichier généré est le premier paramètre.
# Si un fichier de même nom existe déjà il est sauvegardé dès lors que la nouvelle version
# est différente de l'ancienne.
#
# Les appels sont de la forme : 
#     SubnetFileBuilder::buildAlternativeSubnetFile($fileName,$DBIdriver,$SQLhost,$SQLdb,$SQLuser,$SQLpasswd)
# ou
#     SubnetFileBuilder::buildAlternativeSubnetFile($fileName)
#
# Les paramètres sont 
#     $fileName : le nom du fichier généré
#     $DBIdriver : le type de base de données utilisée
#     $SQLhost : la machine hôte de la base
#     $SQLdb  : le nom de la base
#     $SQLuser : le nom de l'utilisateur de la base
#     $SQLpasswd : le mot de passe de l'utilisateur
# Si la fonction est utilisée sans paramètre un dialogue permet leur saisie 
# sur l'entrée standard
# 
# Retourne un libellé d'erreur en cas de problème, la chaîne vide sinon.
#
#
sub buildAlternativeSubnetFile  {
 
 
## A COMPLETER 
## Le code de la fonction doit être placé avant le return ci-dessous qui
## dès lors peut être supprimé.
  return "SubnetFileBuilder::buildAlternativeSubnetFile() n'est pas opérationnelle !" 
 
} # buildAlternativeSubnetFile()
 
 
1 ;