Problème de récupération de tableau dans hash DBM
J'ai un petit soucie avec un DBM, je n'arrive pas a récupérer mes données.
Voila mon script de teste :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
#!/usr/bin/perl -w
use strict;
use AnyDBM_File;
use DB_File;
use diagnostics;
my @i = qw/ a b c d /;
my $new_filename = "test.dat";
my %newhash = ();
tie %newhash, 'DB_File', $new_filename, O_CREAT|O_RDWR;
$newhash{'teste'} = [@i]; |
pour récupérer mes données je fait comme ceci :
Code:
1 2 3 4 5
|
tie(my %HIST, 'DB_File', 'test', 1, 0);
my $i = $HIST{'teste'};
print @$i[0];
untie(%HIST) |
le problème ce trouve la
Citation:
my $i = $HIST{'teste'};
print @$i[0];
je ne comprend pas ou est mon erreur d'autant quand faisant un teste avec un autre script que voila :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
#!/usr/bin/perl -w
use strict;
my @i = qw/ a b c d /;
my %l;
$l{'reteste'} = [@i];
my $m = $l{'reteste'};
print @$m[2]; |
Tout vas bien 8O
Perl me renvoie l'erreur suivante :
Citation:
Can't use string ("ARRAY(0x1a01354)") as an ARRAY ref while "strict refs" in
use at C:\DOCUME~1\Siaoly\Bureau\cache.pl line 22 (#1)
(F) Only hard references are allowed by "strict refs". Symbolic
references are disallowed. See perlref.
Uncaught exception from user code:
Can't use string ("ARRAY(0x1a01354)") as an ARRAY ref while "strict refs" in use at C:\DOCUME~1\Siaoly\Bureau\cache.pl line 22.
at C:\DOCUME~1\Siaoly\Bureau\cache.pl line 22