Dans un de mes scripts je doit récupérer une tranche de hash mais je ne veut pas d'une liste plate mais d'un hashage.
J'ai donc essayé de faire une map intelligent comme cela :
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 #!/usr/bin/perl -w use strict; use diagnostics; use Data::Dumper; my %m = ( l => 7, k => 9, y => 10, p => 46); my $i = 3; my %t = map { if ($i > 0 and exists $m{$_} ) { $i--; $_ => $m{$_}; } } keys %m; print Dumper(\%t);
Dans mon code de teste je veux récupérer trois clefs mais cela ne fonctionne pas très bien car une quatrième clef vide est créer par perl elle point sur la valeur undef .
merci
Partager