Bonjour à tous,
Y at-il moyen de sauver facilement un hash de array dans un fichier, en vue de le réimporter tel quel plus tard dans un autre programme ? Connaissez-vous des modules ?
D'avance merci.
Bonjour à tous,
Y at-il moyen de sauver facilement un hash de array dans un fichier, en vue de le réimporter tel quel plus tard dans un autre programme ? Connaissez-vous des modules ?
D'avance merci.
J'ai maintenant transformé mon tableau en hash de hash de array. Mais, je suppose que la question reste la même. Merci.
Le plus simple et portable est sans doute Data::Dumper. En moins portable mais dans le core il y a Storable. Après il y a aussi YAML et JSON...
Merci cmcmc, je vais y regarder et je reviens donner mon avis.
Juste en complément, Data::Dumper fait aussi partie des modules core.
- La programmation fonctionnelle en Perl : 1. Les opérateurs de liste; 2. Les fonctions d'ordre supérieur; 3. Étendre le langage.
- Comment utiliser des décorateurs en Perl: Un tutoriel pour changer le comportement d'une fonction sans en modifier le code source
- De Perl 5 à Perl 6 : 1. Les bases; 2. Les nouveautés; 3. Approfondissements; 4. Annexe 1: Ce qui change entre Perl 5 et Perl 6; Annexe 2: Les nouveautés de Perl 6.
- Les regex et grammaires de Perl 6
- Objets, classes et rôles en Perl 6 - Tutoriel de programmation orientée objet
- Tour d'horizon du nouveau langage Perl 6
Un petit exemple vite fait avec Data::Dumper :
note que l'utilisation de Data::Dump ci-dessus n'a rien à voir avec la sérialisation/désérialisation de $h: je l'utilise juste pour la fonction dd qui est pratique et compacte pour les impressions de debug. La sérialisation est faite par
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 Taisha:~/perl/forum $ perl -E ' my $h = { b => { c => { foo => 1, bar => 2 }}, a => [0 .. 3], d => [4, 6, 8, 10]}; { use Data::Dumper; local ($Data::Dumper::Purity, $Data::Dumper::Terse) = (1,1); print Dumper($h); }' > h.dat Taisha:~/perl/forum $ cat h.dat { 'a' => [ 0, 1, 2, 3 ], 'b' => { 'c' => { 'bar' => 2, 'foo' => 1 } }, 'd' => [ 4, 6, 8, 10 ] } Taisha:~/perl/forum $ perl -MData::Dump -e 'my $h = do "h.dat"; dd $h' { a => [0 .. 3], b => { c => { bar => 2, foo => 1 } }, d => [4, 6, 8, 10] } Taisha:~/perl/forum $et la désérialisation par
Code : Sélectionner tout - Visualiser dans une fenêtre à part print Dumper($h)
Code : Sélectionner tout - Visualiser dans une fenêtre à part $h = do "h.dat"
Partager