Difference entre deux syntaxe
Bonjour,
Pourriez vous me dire pourquoi la syntaxe suivant ne fonctionne pas ?
Merci pour vos eclairs ;)
Code:
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 ;
} |