Bonjour,
j'ai un soucis en utilisant les références sur un HASH, j'essaie d'apporter des modification au HASH %HEA dans la fonction identify_hea
Je pensais avoir bien suivi la FAQ mais j'ai du râter une subtilité
C'est cette ligne qui retourne une erreur :
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 #!/usr/bin/perl use strict; use warnings; use Data::Dumper; sub get_attr_hea { my ( $SYSTEM_NAME )= shift; my $i=0; my %val=(); foreach (`$CMD{lshwres} -r hea -m $SYSTEM_NAME --rsubtype phys --level port`){ chomp; foreach (split /,/) { my($key,$value)=split /\=/; $val{$key}{$i}=$value; } $i++; } return %val; } sub identify_hea { my ($ref) = @_; my %HEA = %$ref; foreach (`lsdev -Ccadapter -t ethernet -F "name,physloc"`) { chomp; my ($name,$physloc) = split /,/ ; foreach (sort keys %{$HEA{phys_port_loc}}) { %{$ref{adapter}{$_}}=$name if $physloc =~ /-$HEA{phys_port_loc}{$_}$/; } } } my %HEA = get_attr_hea($SYSTEM_NAME); identify_hea(\%HEA);
Code : Sélectionner tout - Visualiser dans une fenêtre à part %{$ref{adapter}{$_}}=$name if $physloc =~ /-$HEA{phys_port_loc}{$_}$/;Je suis en Perl 5.8.8../reseau_vio.pl
Global symbol "%ref" requires explicit package name at ./reseau_vio.pl line 76.
Execution of ./reseau_vio.pl aborted due to compilation errors.
Merci !![]()
Partager