Bonjour,
avec le bout de code ci-dessous (je n'ai pas mis la suite inutile pour le sujet), j'ai autant de message "Use of uninitialized value $_ in pattern match (m//)" qu'il y a de ligne lu dans le fichier à lire si je ne rajoute pas dans le code
Code : Sélectionner tout - Visualiser dans une fenêtre à part no warnings 'uninitialized';
La partie qui cause ce message est le second bloque if.
Même si je met le second bloc if en premier, il génère les mêmes messages.
C'est un comportement normal?
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 use warnings; use strict; use Data::Dumper; #no warnings 'uninitialized'; ####################### DEBUT CODE ####################### die "Maximum 1 arguement" if (@ARGV >= 2); open (my $fh, "<", "$ARGV[0]") or die "Cannot open $!"; my %hash_acl; my $ip_local_acl_name; my $acl_name; my $acl_ligne; my @ACL_SSH; while (my $ligne = <$fh>) { chomp($ligne); if ($ligne =~ /^ip access-list/) { $acl_name = $ligne; } if ($ligne =~ /^\spermit/i || /^\sdeny/i) { $acl_ligne = $ligne; push @{$hash_acl{"$acl_name"}}, $acl_ligne; } if ($ligne =~ /^ip local access-list/) { my $IN_OUT = (split (/ /, $ligne)) [-1]; if ( $IN_OUT =~ /in/) { # Véerefie que l'ACL est en IN $ip_local_acl_name = (split (/ /, $ligne)) [-2]; # Récupere le nom de l'ACL dans IP LOCAL } else { die "PAS ACL EN IN EN IP LOCAL\n"; } } }
Merci.
Partager