Bonjour,
je n'arrive pas à comprendre comment récupérer et bénir un objet enregistré dans un fichier avec Storable (ce n'est peut-être pas la bonne méthode). J'ai consulté, entre autre, ce billet mais j'avoue ne pas y comprendre grand chose. J'arrête de blablater et livre mon code :
Programme principal :
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 #!/usr/bin/env perl use strict; use warnings; use diagnostics; use Smart::Comments; use Data::Dumper; use Storable; use Test; if ( -f 'backup' ) { my $truc = retrieve 'backup' ; print Dumper $truc; } else { my $premier = Test->new; $premier->get_first; ### $premier store \$premier , 'backup'; }Jusque là tout va bien, le programme m'affiche :
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 package Test ; use strict ; use warnings ; use diagnostics ; use Smart::Comments; use Storable ; use Data::Dumper ; # my @liste; sub new { my $r_test = { "first" => "un" , "second" => "deux" , "third" => "trois" } ; my $self = shift ; bless $r_test, $self ; # si aucun arg. retourne les val. par défaut return ($r_test) if ( ! defined ($_[0]) ) ; # initialisation des menbres si arguments passés $r_test->{"first"} = shift ; $r_test->{"second"} = shift if ( defined ($_[0]) ); $r_test->{"third"} = shift if ( defined ($_[0]) ) ; return ($r_test) ; } 1;
Où je vois bien que c'est un objet (\bless) appartenant au package "Test". Mais comment récupérer 'first', 'second' et 'third' pour les passer en argument de la méthode Test::new ? Je sèche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $VAR1 = \bless( { 'first' => 'un', 'second' => 'deux', 'third' => 'trois' }, 'Test' );
Partager