Précédent   Forum du club des développeurs et IT Pro > Autres langages > Perl > Programmation et administration système
Programmation et administration système Vos questions sur les scripts d'administration système, création de compte utilisateur, socket, fork, ping, etc...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 29/03/2012, 10h55   #1
seb-65
Candidat au titre de Membre du Club
 
Inscription : juillet 2009
Messages : 174
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 174
Points : 14
Points : 14
Par défaut [SUITE2] récupérer valeurs dans variables

Suite N°2, toujours un problème d'erreur 500 sur le forum dans les fils précédents

Si un modo passe dans le coin pour fusionner/supprimer les posts qui bug Merci par avance !

Le retour complet du script :

Code :
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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
 
root@linux:~# ./switch.pl
Line:
Line: switch>terminal length 0
Line: switch>enable
Line: Password:
Line: switch#sh interfaces counters
Line:
Line: Port            InOctets    InUcastPkts    InMcastPkts    InBcastPkts
Line: Fa0/1           39253732          92339         155453           6176
Key: Fa0/1
InOctets => 39253732, InUcastPkts => 92339, InMcastPkts => 155453, InBcastPkts => 6176
Line: Fa0/2        20467564400       20177433         241707          67765
Key: Fa0/2
InOctets => 20467564400, InUcastPkts => 20177433, InMcastPkts => 241707, InBcastPkts => 67765
Line: Fa0/3          647715947        3363573             67           9078
Key: Fa0/3
InOctets => 647715947, InUcastPkts => 3363573, InMcastPkts => 67, InBcastPkts => 9078
Line: Fa0/4         3807080861        8983259            300           4021
Key: Fa0/4
InOctets => 3807080861, InUcastPkts => 8983259, InMcastPkts => 300, InBcastPkts => 4021
Line: Fa0/5          974816057        6462302            124            857
Key: Fa0/5
InOctets => 974816057, InUcastPkts => 6462302, InMcastPkts => 124, InBcastPkts => 857
Line: Fa0/6          826395598        5430691             29           3818
Key: Fa0/6
InOctets => 826395598, InUcastPkts => 5430691, InMcastPkts => 29, InBcastPkts => 3818
Line: Fa0/7         8546273127       30119310          76051          59256
Key: Fa0/7
InOctets => 8546273127, InUcastPkts => 30119310, InMcastPkts => 76051, InBcastPkts => 59256
Line: Fa0/8         2188276369        9444083         218966         343299
Key: Fa0/8
InOctets => 2188276369, InUcastPkts => 9444083, InMcastPkts => 218966, InBcastPkts => 343299
Line: Fa0/9         2091185870       18059430          31008         128012
Key: Fa0/9
InOctets => 2091185870, InUcastPkts => 18059430, InMcastPkts => 31008, InBcastPkts => 128012
Line: Fa0/10           7811312          51421              6            192
Key: Fa0/10
InOctets => 7811312, InUcastPkts => 51421, InMcastPkts => 6, InBcastPkts => 192
Line: Fa0/11        8056956788       13490370           5737         399811
Key: Fa0/11
InOctets => 8056956788, InUcastPkts => 13490370, InMcastPkts => 5737, InBcastPkts => 399811
Line: Fa0/12                 0              0              0              0
Key: Fa0/12
InOctets => 0, InUcastPkts => 0, InMcastPkts => 0, InBcastPkts => 0
Line: Fa0/13                 0              0              0              0
Key: Fa0/13
InOctets => 0, InUcastPkts => 0, InMcastPkts => 0, InBcastPkts => 0
Line: Fa0/14        1124993080         856145             74              3
Key: Fa0/14
InOctets => 1124993080, InUcastPkts => 856145, InMcastPkts => 74, InBcastPkts => 3
Line: Fa0/15                 0              0              0              0
Key: Fa0/15
InOctets => 0, InUcastPkts => 0, InMcastPkts => 0, InBcastPkts => 0
Line: Fa0/16                 0              0              0              0
Key: Fa0/16
InOctets => 0, InUcastPkts => 0, InMcastPkts => 0, InBcastPkts => 0
Line: Fa0/17                 0              0              0              0
Key: Fa0/17
InOctets => 0, InUcastPkts => 0, InMcastPkts => 0, InBcastPkts => 0
Line: Fa0/18                 0              0              0              0
Key: Fa0/18
InOctets => 0, InUcastPkts => 0, InMcastPkts => 0, InBcastPkts => 0
Line: Fa0/19         126086300         493401              6            141
Key: Fa0/19
InOctets => 126086300, InUcastPkts => 493401, InMcastPkts => 6, InBcastPkts => 141
Line: Fa0/20                 0              0              0              0
Key: Fa0/20
InOctets => 0, InUcastPkts => 0, InMcastPkts => 0, InBcastPkts => 0
Line: Fa0/21                 0              0              0              0
Key: Fa0/21
InOctets => 0, InUcastPkts => 0, InMcastPkts => 0, InBcastPkts => 0
Line: Fa0/22                 0              0              0              0
Key: Fa0/22
InOctets => 0, InUcastPkts => 0, InMcastPkts => 0, InBcastPkts => 0
Line: Fa0/23                 0              0              0              0
Key: Fa0/23
InOctets => 0, InUcastPkts => 0, InMcastPkts => 0, InBcastPkts => 0
Line: Fa0/24                 0              0              0              0
Key: Fa0/24
InOctets => 0, InUcastPkts => 0, InMcastPkts => 0, InBcastPkts => 0
Line: Gi0/1            9489479          67575              5            211
Key: Gi0/1
InOctets => 9489479, InUcastPkts => 67575, InMcastPkts => 5, InBcastPkts => 211
Line: Gi0/2        25937918634       99765547        5933964       11559467
Key: Gi0/2
InOctets => 25937918634, InUcastPkts => 99765547, InMcastPkts => 5933964, InBcastPkts => 11559467
Line:
Line: Port           OutOctets   OutUcastPkts   OutMcastPkts   OutBcastPkts
Line: Fa0/1         1480324426         231480        6479043       12570594
Key: Fa0/1
OutOctets => 1480324426, OutUcastPkts => 231480, OutMcastPkts => 6479043, OutBcastPkts => 12570594
Line: Fa0/2         3333316861       12754003        6386091       12507993
Key: Fa0/2
OutOctets => 3333316861, OutUcastPkts => 12754003, OutMcastPkts => 6386091, OutBcastPkts => 12507993
Line: Fa0/3         1671999116        3451456        6628124       12567836
Key: Fa0/3
OutOctets => 1671999116, OutUcastPkts => 3451456, OutMcastPkts => 6628124, OutBcastPkts => 12567836
Line: Fa0/4         4347727969        8593467        6627757       12571364
Key: Fa0/4
OutOctets => 4347727969, OutUcastPkts => 8593467, OutMcastPkts => 6627757, OutBcastPkts => 12571364
Line: Fa0/5         2317539616        6706239        5793885       10821290
Key: Fa0/5
OutOctets => 2317539616, OutUcastPkts => 6706239, OutMcastPkts => 5793885, OutBcastPkts => 10821290
Line: Fa0/6         1784243367        5565651        5794009       10819358
Key: Fa0/6
OutOctets => 1784243367, OutUcastPkts => 5565651, OutMcastPkts => 5794009, OutBcastPkts => 10819358
Line: Fa0/7         8197576063       29848069        5724005       10763354
Key: Fa0/7
OutOctets => 8197576063, OutUcastPkts => 29848069, OutMcastPkts => 5724005, OutBcastPkts => 10763354
Line: Fa0/8         2686291418        8906272        5580244       10478485
Key: Fa0/8
OutOctets => 2686291418, OutUcastPkts => 8906272, OutMcastPkts => 5580244, OutBcastPkts => 10478485
Line: Fa0/9         4039435207       19735930        6594086       12441316
Key: Fa0/9
OutOctets => 4039435207, OutUcastPkts => 19735930, OutMcastPkts => 6594086, OutBcastPkts => 12441316
Line: Fa0/10        1203548361         125419        5793976       10822751
Key: Fa0/10
OutOctets => 1203548361, OutUcastPkts => 125419, OutMcastPkts => 5793976, OutBcastPkts => 10822751
Line: Fa0/11        9669347421       13021913        6622747       12177007
Key: Fa0/11
OutOctets => 9669347421, OutUcastPkts => 13021913, OutMcastPkts => 6622747, OutBcastPkts => 12177007
Line: Fa0/12        1197085724          76475        5789771       10810789
Key: Fa0/12
OutOctets => 1197085724, OutUcastPkts => 76475, OutMcastPkts => 5789771, OutBcastPkts => 10810789
Line: Fa0/13                 0              0              0              0
Key: Fa0/13
OutOctets => 0, OutUcastPkts => 0, OutMcastPkts => 0, OutBcastPkts => 0
Line: Fa0/14         367894640         498134            734           1629
Key: Fa0/14
OutOctets => 367894640, OutUcastPkts => 498134, OutMcastPkts => 734, OutBcastPkts => 1629
Line: Fa0/15                 0              0              0              0
Key: Fa0/15
OutOctets => 0, OutUcastPkts => 0, OutMcastPkts => 0, OutBcastPkts => 0
Line: Fa0/16                 0              0              0              0
Key: Fa0/16
OutOctets => 0, OutUcastPkts => 0, OutMcastPkts => 0, OutBcastPkts => 0
Line: Fa0/17                 0              0              0              0
Key: Fa0/17
OutOctets => 0, OutUcastPkts => 0, OutMcastPkts => 0, OutBcastPkts => 0
Line: Fa0/18                 0              0              0              0
Key: Fa0/18
OutOctets => 0, OutUcastPkts => 0, OutMcastPkts => 0, OutBcastPkts => 0
Line: Fa0/19         215398333         460039         829752        1739535
Key: Fa0/19
OutOctets => 215398333, OutUcastPkts => 460039, OutMcastPkts => 829752, OutBcastPkts => 1739535
Line: Fa0/20                 0              0              0              0
Key: Fa0/20
OutOctets => 0, OutUcastPkts => 0, OutMcastPkts => 0, OutBcastPkts => 0
Line: Fa0/21                 0              0              0              0
Key: Fa0/21
OutOctets => 0, OutUcastPkts => 0, OutMcastPkts => 0, OutBcastPkts => 0
Line: Fa0/22                 0              0              0              0
Key: Fa0/22
OutOctets => 0, OutUcastPkts => 0, OutMcastPkts => 0, OutBcastPkts => 0
Line: Fa0/23                 0              0              0              0
Key: Fa0/23
OutOctets => 0, OutUcastPkts => 0, OutMcastPkts => 0, OutBcastPkts => 0
Line: Fa0/24                 0              0              0              0
Key: Fa0/24
OutOctets => 0, OutUcastPkts => 0, OutMcastPkts => 0, OutBcastPkts => 0
Line: Gi0/1         1204106253         136825        5794024       10822465
Key: Gi0/1
OutOctets => 1204106253, OutUcastPkts => 136825, OutMcastPkts => 5794024, OutBcastPkts => 10822465
Line: Gi0/2        46714074771      108015868        1288147        1017341
Key: Gi0/2
OutOctets => 46714074771, OutUcastPkts => 108015868, OutMcastPkts => 1288147, OutBcastPkts => 1017341
Line: switch#
Key: switch#
Use of uninitialized value in concatenation (.) or string at ./switch.pl line 43.
Use of uninitialized value in concatenation (.) or string at ./switch.pl line 43.
Use of uninitialized value in concatenation (.) or string at ./switch.pl line 43.
Use of uninitialized value in concatenation (.) or string at ./switch.pl line 43.
OutOctets => , OutUcastPkts => , OutMcastPkts => , OutBcastPkts =>
Use of uninitialized value in say at ./switch.pl line 49.
Key Gi0/2, InOctets:
root@linux:~#
seb-65 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2012, 11h09   #2
Philou67430
Expert Confirmé
 
Inscription : avril 2009
Messages : 2 633
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : avril 2009
Messages : 2 633
Points : 3 079
Points : 3 079
Essaye ce script (sans le modifier) et dit moi s'il retourne bien la donnée.
Code :
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
#!/usr/bin/perl
 
use strict;
use warnings;
 
use feature qw(:5.10);
use List::MoreUtils qw(pairwise);
 
my @ssh_return = split /\n/, <<'DATA';
Port InOctets InUcastPkts InMcastPkts InBcastPkts
Fa0/1           38994637          92150         154264           6155
Fa0/2        19954317931       19765110         238797          67376
Fa0/3          642615699        3337962             67           9014
Fa0/4         3796890138        8923787            300           4019
Fa0/5          959937874        6393942            124            857
Fa0/6          812098430        5375191             29           3754
Fa0/7         8256991805       29393309          75399          58599
Fa0/8         2176240651        9350819         216918         340325
Fa0/9         2075684972       17924520          30777         127927
Fa0/10           7802935          51324              6            192
Fa0/11        8007316370       13391384           5731         396084
Fa0/12                 0              0              0              0
Fa0/13                 0              0              0              0
Fa0/14        1124993080         856145             74              3
Fa0/15                 0              0              0              0
Fa0/16                 0              0              0              0
Fa0/17                 0              0              0              0
Fa0/18                 0              0              0              0
Fa0/19         126086300         493401              6            141
Fa0/20                 0              0              0              0
Fa0/21                 0              0              0              0
Fa0/22                 0              0              0              0
Fa0/23                 0              0              0              0
Fa0/24                 0              0              0              0
Gi0/1            9478722          67443              5            211
Gi0/2        25672520800       98456525        5889156       11489217
Fa0/1         1471057948         231057        6428386       12492382
Fa0/2         3300583785       12579155        6337169       12430149
Fa0/3         1660232495        3424087        6576292       12489667
Fa0/4         4323141858        8532958        6575925       12493133
Fa0/5         2295388064        6628514        5742053       10743057
Fa0/6         1767570595        5510232        5742177       10741189
Fa0/7         8064674506       29183302        5672825       10685778
Fa0/8         2666804181        8814211        5530460       10403226
Fa0/9         4000883484       19562089        6542485       12363168
Fa0/10        1194122197         125133        5742144       10744518
Fa0/11        9594971440       12912028        6570921       12102501
Fa0/12        1187665637          76272        5737939       10732556
Fa0/13                 0              0              0              0
Fa0/14         367894640         498134            734           1629
Fa0/15                 0              0              0              0
Fa0/16                 0              0              0              0
Fa0/17                 0              0              0              0
Fa0/18                 0              0              0              0
Fa0/19         215398333         460039         829752        1739535
Fa0/20                 0              0              0              0
Fa0/21                 0              0              0              0
Fa0/22                 0              0              0              0
Fa0/23                 0              0              0              0
Fa0/24                 0              0              0              0
Gi0/1         1194675529         136471        5742192       10744232
Gi0/2        45821456611      106466935        1276493        1009358
switch#
DATA
 
my %var;
our ($a, $b);
 
my @col_names;
foreach my $line (@ssh_return) {
  chomp $line;
  if ($line =~ /^Port/) {
    @col_names = split /\s+/, $line;
    shift @col_names;
  }
  else {
    if (my @col_values = split /\s+/, $line) {
      my $key = shift @col_values;
      $var{$key} = { pairwise { $a => $b } @col_names, @col_values } if defined $key && @col_values;
    }
  }
}
 
say "Key Gi0/2, InOctets: ", $var{"Gi0/2"}->{"InOctets"};
__________________
Plus j'apprends, et plus je mesure mon ignorance (philou67430)
Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
Using strict and warnings is good for you.
Philou67430 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2012, 11h22   #3
seb-65
Candidat au titre de Membre du Club
 
Inscription : juillet 2009
Messages : 174
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 174
Points : 14
Points : 14
Oui, ton script retourne bien la donnée :

Code :
Key Gi0/2, InOctets: 45821456611
seb-65 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2012, 11h41   #4
Philou67430
Expert Confirmé
 
Inscription : avril 2009
Messages : 2 633
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : avril 2009
Messages : 2 633
Points : 3 079
Points : 3 079
Donc à présent, part du mon script et modifie cette ligne
Code :
foreach my $line (@ssh_return) {
pour l'adapter au retour de ta commande ssh, sans rien changer ailleurs.
__________________
Plus j'apprends, et plus je mesure mon ignorance (philou67430)
Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
Using strict and warnings is good for you.
Philou67430 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2012, 12h03   #5
seb-65
Candidat au titre de Membre du Club
 
Inscription : juillet 2009
Messages : 174
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 174
Points : 14
Points : 14
Non cela ne fonctionne pas :

Code :
1
2
Use of uninitialized value in say at ./test.pl line 46.
Key Gi0/2, InOctets:
j'ai modifié pour récupérer le channel SSH en :

Code :
1
2
 
foreach my $line($chan2) {
seb-65 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2012, 14h32   #6
Philou67430
Expert Confirmé
 
Inscription : avril 2009
Messages : 2 633
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : avril 2009
Messages : 2 633
Points : 3 079
Points : 3 079
Montre le début du script jusqu'à cette ligne, car cette ligne est de toute façon erronée.
__________________
Plus j'apprends, et plus je mesure mon ignorance (philou67430)
Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
Using strict and warnings is good for you.
Philou67430 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2012, 14h44   #7
seb-65
Candidat au titre de Membre du Club
 
Inscription : juillet 2009
Messages : 174
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 174
Points : 14
Points : 14
Code :
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
 
use Net::SSH2;
use strict;
use warnings;
 
use feature qw(:5.10);
use List::MoreUtils qw(pairwise);
 
my $ip="192.168.10.10";
my $password="password";
my $user="admin";
my $enable=$password;
 
my $ssh2 = Net::SSH2->new();
$ssh2->connect("$ip") or die;
if ($ssh2->auth_password("$user","$password")) {
my $chan2 = $ssh2->channel();
$chan2->shell();
$chan2->blocking(0);
print $chan2 "terminal length 0\n";
print $chan2 "enable\n";
print $chan2 "$enable\n";
print $chan2 "sh interfaces counters\n";
 
 
#my @ssh_return = split /\n/,<$chan2>;
 
my %var;
our ($a, $b);
 
my @col_names;
foreach my $line($chan2) {
seb-65 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2012, 15h01   #8
Philou67430
Expert Confirmé
 
Inscription : avril 2009
Messages : 2 633
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : avril 2009
Messages : 2 633
Points : 3 079
Points : 3 079
Tu devrais sans doute écrire :
Code :
foreach my $line(<$chan2>) {
au lieu de
Code :
foreach my $line($chan2) {
__________________
Plus j'apprends, et plus je mesure mon ignorance (philou67430)
Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
Using strict and warnings is good for you.
Philou67430 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2012, 15h04   #9
seb-65
Candidat au titre de Membre du Club
 
Inscription : juillet 2009
Messages : 174
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 174
Points : 14
Points : 14
Toujours la fameuse erreur anonymous hash :

Code :
1
2
3
4
5
6
7
 
Use of uninitialized value in anonymous hash ({}) at ./test.pl line 42.
Use of uninitialized value in anonymous hash ({}) at ./test.pl line 42.
Use of uninitialized value in anonymous hash ({}) at ./test.pl line 42.
Use of uninitialized value in anonymous hash ({}) at ./test.pl line 42.
Use of uninitialized value in say at ./test.pl line 47.
Key Gi0/2, InOctets:
seb-65 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2012, 15h13   #10
Philou67430
Expert Confirmé
 
Inscription : avril 2009
Messages : 2 633
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : avril 2009
Messages : 2 633
Points : 3 079
Points : 3 079
Les erreurs en ligne 42 ne devraient pas être importante (et pourrons être traitées après avoir corrigé le problème principal) : elles sont sans doute dues aux lignes qui ne contiennent pas de données.

Pour ton problème, je ne vois qu'une solution : passer en mode debug :

place un breakpoint en ligne 47

et affiche les infos suivantes :

Montre moi le résultat de la dernière commande.
__________________
Plus j'apprends, et plus je mesure mon ignorance (philou67430)
Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
Using strict and warnings is good for you.
Philou67430 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2012, 20h50   #11
seb-65
Candidat au titre de Membre du Club
 
Inscription : juillet 2009
Messages : 174
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 174
Points : 14
Points : 14
Debug sur la ligne 47 :

Code :
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
 
  DB<1> n
main::(test.pl:47):      say "Key Gi0/2, InOctets: ", $var{"Gi0/2"}->{"InOctets"}                                                                                                                                                             ;
  DB<1> b 47
  DB<2> x keys %var
0  'Fa0/14'
1  'Fa0/8'
2  'Fa0/13'
3  'Fa0/21'
4  'Fa0/15'
5  'Fa0/12'
6  'Gi0/1'
7  'Fa0/16'
8  'Fa0/24'
9  'Fa0/17'
10  'Fa0/23'
11  'Fa0/11'
12  'Fa0/3'
13  'Fa0/5'
14  'Fa0/6'
15  'Fa0/2'
16  'Fa0/1'
17  'switch#sh'
18  'Fa0/7'
19  'Gi0/2'
20  'Fa0/22'
21  'Fa0/19'
22  'Fa0/4'
23  'switch>terminal'
24  'Fa0/10'
25  'Fa0/9'
26  'Fa0/20'
27  'Fa0/18'
  DB<3>
seb-65 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2012, 09h24   #12
Philou67430
Expert Confirmé
 
Inscription : avril 2009
Messages : 2 633
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : avril 2009
Messages : 2 633
Points : 3 079
Points : 3 079
A la suite de ça, affiche ceci :
Dans les clés enregistrées, je constate qu'il y a des lignes retournées par ta commande ssh qui ne contiennent pas de données, il faudra soit les filtrer, soit les prendre en compte si elles contiennent des informations utiles.
__________________
Plus j'apprends, et plus je mesure mon ignorance (philou67430)
Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
Using strict and warnings is good for you.
Philou67430 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2012, 10h33   #13
seb-65
Candidat au titre de Membre du Club
 
Inscription : juillet 2009
Messages : 174
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 174
Points : 14
Points : 14
Code :
1
2
3
4
5
6
7
 
  DB<3> x $var{"Gi0/1"}
0  HASH(0x20318e0)
   'OutBcastPkts' => 10954560
   'OutMcastPkts' => 5859158
   'OutOctets' => 1218120061
   'OutUcastPkts' => 137350
Il retourne bien le OUT mais pas le IN

Citation:
Dans les clés enregistrées, je constate qu'il y a des lignes retournées par ta commande ssh qui ne contiennent pas de données, il faudra soit les filtrer, soit les prendre en compte si elles contiennent des informations utiles.
Tu parles peut être des clés suivante ?

Code :
1
2
3
 
17  'switch#sh'
23  'switch>terminal'
D'ailleur je ne sais pas trop d'ou elles sortent ! Elles peuvent être ignorées !
seb-65 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2012, 11h46   #14
Philou67430
Expert Confirmé
 
Inscription : avril 2009
Messages : 2 633
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : avril 2009
Messages : 2 633
Points : 3 079
Points : 3 079
Citation:
Envoyé par seb-65 Voir le message
Code :
1
2
3
4
5
6
7
 
  DB<3> x $var{"Gi0/1"}
0  HASH(0x20318e0)
   'OutBcastPkts' => 10954560
   'OutMcastPkts' => 5859158
   'OutOctets' => 1218120061
   'OutUcastPkts' => 137350
Il retourne bien le OUT mais pas le IN
Je crois que j'ai trouvé : lorsque les IN sont trouvés, ils sont mis dans $var{clé}, puis, quand les OUT sont trouvés, ils sont mis dans $var{clé}, mais sans conserver les anciens.

Pour corriger, modifie cette ligne:
Code :
      $var{$key} = { pairwise { $a => $b } @col_names, @col_values } if defined $key && @col_values;
en
Code :
      $var{$key} = { $var{$key} ? %{$var{$key}} : (), pairwise { $a => $b } @col_names, @col_values } if defined $key && @col_values;
__________________
Plus j'apprends, et plus je mesure mon ignorance (philou67430)
Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
Using strict and warnings is good for you.
Philou67430 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2012, 12h00   #15
seb-65
Candidat au titre de Membre du Club
 
Inscription : juillet 2009
Messages : 174
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 174
Points : 14
Points : 14
héhé

Merci Philou67430, cela fonctionne (IN & OUT):

Code :
1
2
3
4
5
6
7
 
Use of uninitialized value in anonymous hash ({}) at ./test.pl line 42.
Use of uninitialized value in anonymous hash ({}) at ./test.pl line 42.
Use of uninitialized value in anonymous hash ({}) at ./test.pl line 42.
Use of uninitialized value in anonymous hash ({}) at ./test.pl line 42.
Key Gi0/2, InOctets: 26255169324
Key Gi0/2, OutOctets: 47974043361
Par contre pour les erreurs en ligne 42 est-ce qu'elles peuvent se corriger ou cela n'est pas gênant ?
seb-65 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/04/2012, 09h03   #16
Philou67430
Expert Confirmé
 
Inscription : avril 2009
Messages : 2 633
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : avril 2009
Messages : 2 633
Points : 3 079
Points : 3 079
Il est normalement possible de corriger l'erreur en identifiant une ligne qui ne contient pas de données. Pour cela, le test
Code :
... if defined $key && @col_values;
opère déjà une partie du filtrage, et si cette ligne est bien écrite de cette façon dans ton script, elle doit être incomplète.

Pourrais-tu poster à nouveau la totalité de ton script actuel ?
Avec les données que j'ai pu collectée de ce que ton ssh retourne, je n'ai de mon coté plus aucune erreur ou warning.
__________________
Plus j'apprends, et plus je mesure mon ignorance (philou67430)
Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
Using strict and warnings is good for you.
Philou67430 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 13h34.


 
 
 
 
Partenaires

Hébergement Web