[Perl] map

Emmanuel Seyman emmanuel at seyman.fr
Jeu 23 Jan 19:29:15 CET 2020


* Patrick Dupre [23/01/2020 19:11] :
>
> Est-ce que l'on pourrait m'expliquer cette ligne de code
> 
> map { {value => $_, index => $i++} }

map est une fonction qui prend une expression (ou un bloc de code) et
un tableau. La fonction est alors appliquée à chacue élement du
tableau et le résultat est envoyé.

Ici, pour chaque élément, on renvoie un hash et on obtient donc
un tableau de hash.

[manu at lora ~]$ cat map.pl
#!/usr/bin/perl

use Data::Dumper;
my @input = (2, 1); my $i;
print Dumper map { {value => $_, index => $i++} } @input;

[manu at lora ~]$ perl map.pl
$VAR1 = {
          'value' => 2,
          'index' => 0
        };
$VAR2 = {
          'index' => 1,
          'value' => 1
        };

Emmanuel


Plus d'informations sur la liste de diffusion Perl