J'ai un pb de programmation orienté objet.
Le voici:
J'ai crée une classe avec des methodes mais je n'arrive pas a passer un parametre dans une fonction.
Je m'expliqe:
voici quelque ligne de mon fichier pm:
voici comment je fait appel de cette methode dans mon programme:
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 #-------fichier Mesure.pm------------ package Mesure; require 'chemins.pl'; require "fonctions_divers.pl"; sub new { my($class,$switch) = @_; my $self ={}; bless($self , $class); $self->{SWITCH} = $switch; return $self; } 1; sub analyse_mesure { my ($oid_mesure,$fichier_mesure,$switch_a_mesurer,$snmpwalk)= @_; print("@_\n"); @tableau_mesure=(); #on vide le tableau avant de le remplir system("$snmpwalk -v 1 -c public $switch_a_mesurer $oid_mesure > $fichier_mesure"); open (SNMP, "$fichier_mesure") || die "Impossible d'ouvrir $fichier_mesure"; while (<SNMP>) { @champ=split(/:/,$_); @champ2=split(/\n/,$champ[3]); push(@tableau_mesure,$champ2[0]); } close (SNMP); system("rm $fichier_mesure"); return @tableau_mesure; }
Et le pb est que le premier parametre qui arrive dans ma méthode est
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 my $mesure = Mesure->new ($switch_selectionne); @tabinterface = $mesure->analyse_mesure("1.3.6.1.2.1.31.1.1.1.1" , "snmpint.txt" , $switch_selectionne , $snmpwalk);
Mesure=HASH(0x140679940) et puis apres arrive les autres parametres que j'ai mis.
Et du coup tout ce trouve décalé.
Es que quelqu'un pourrai m'aider ou me dire pk es que le premier parametre est Mesure=HASH(0x140679940) au lieu de 1.3.6.1.2.1.31.1.1.1.1.
Merci
Partager