bonjour, j'espère que ça va.
je me suis encore perdu dans les références
voilà une classe moose que j'essaie de construire.
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package Memoire_date;
#moose/Memoire_date.pm
use Moose;
use Data::Dumper;
##############################################################
has 'tab_temps' => (
isa     => 'ArrayRef',
is  => 'rw',
#lazy    => 1,
#default => 'inconnu'
default => sub { return []; }
);
##############################################################
##############################################################
has 'tab_new' => (
isa     => 'ArrayRef',
is  => 'rw',
#lazy    => 1,
#default => 'inconnu'
default => sub { return []; }
);
##############################################################
sub set_date {
	my $self = shift;
	#my $date = shift;
	my $date = 'date';
	my @tab  = $self->tab_temps; 
	my $longtab = @{$tab[0]};
	my @new_tab  = $self->tab_new; 
	my $longtabnew = @{$new_tab[0]};
#si tabnew deja rempli je le pousse dans tab temps
if ($longtabnew > 0) {
	# body...
 
my @temp = ${self}->tab_new;
push ${self}->tab_temps, [@temp];
print "ici tob", Dumper(${self}->tab_temps);
#je réinitialise 
print 'long tab ', $longtabnew;
$self->tab_new([]);
}
#j'inscrit la date
$self->tab_new->[0]->[0]= $date;
print "\n new est ", $self->tab_new->[0]->[0];
#print "\n new est ",${self}->tab_temps->[0]->[0]->[0]->[0];
 
}
##############################################################
no Moose;
__PACKAGE__->meta->make_immutable;
ce qui me donne
ici tob$VAR1 = [
[
[
[
'date'
]
]
],
[
[
[
'date'
]
]
],
[
[
[
'date'
]
]
],

etc .. dejà ça fait beaucoup de crochets
mais ensuite si j'essaye d'acceder à mes valeurs en faisant je l'avoue n'importe quoi comme par exemple
Code : Sélectionner tout - Visualiser dans une fenêtre à part
print "\n resultat est ",${self}->tab_temps->[0]->[0]->[0]->[0];
non seulement je n'y arrive pas mais en plus de nouveaux tableaux se créent tous seul par autovivification.
comme ça

ici tob$VAR1 = [
[
[
[]
]
],
[
[
[
'date'
]
]
],
[
[
[
'date'
]
]
],
[
[
[
'date'
]
]
],

Si vous voyez le problème ?