Bonjour,

Pourriez vous me dire pourquoi la syntaxe suivant ne fonctionne pas ?

Merci pour vos eclairs

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

my @champs = qw/ MPT LVNAME BLK NBPP USER GROUP VGNAME TAILLEMO PREDISK COMMENT /;
my %filesys;
my $ref_cr_fs ;

open(IN, "cr_fs_ora.txt") or die("acces fichier donn\351es err : $!\n");
while(<IN>)
{
        next if ( $_ =~ /^$/ ) ;
        chomp() ;
        @filesys{ @champs } = split /\s+/, $_, 10;
        #print Dumper(%filesys) ;

        print "\t\t$filesys{VGNAME} => $filesys{MPT}\n";
       
        #Cette syntaxe fonctionne, j'ai vu dans un livre.
        push @{$ref_cr_fs->{$filesys{VGNAME}}} , { %filesys } ; 

        #Cette syntaxe ne fonctionne pas... Pourquoi ?
        push @{$ref_cr_fs->{$filesys{VGNAME}}} , %filesys ;

}