Je dois extraire tous les éléments dans un tableau, sauf le dernier et les stocker dans un scalaire pour une utilisation ultérieure. Au début, je pensais que cela serait possible en utilisant des tranches de tableau, mais il semble que vous ne puissiez pas compter en arrière. Par exemple:
my $foo = ($bar[-2..0]);
4 Réponses :
my @x = (1, 2, 3); print "@x[-@x .. -2]";
concaténera (par virgule) tous les éléments du tableau @bar sauf le dernier dans FOO. P>
Cordialement p>
rbo p> My $ foo = joint ',', @bar [0. $ $ # bar-1]; code> p> p>
Cela stockera tous les éléments de tableau, sauf pour le dernier, dans un scalaire. Chaque élément de tableau sera séparé par un seul espace.
use strict; use warnings; my @nums = 1 .. 6; my $str = "@nums[0 .. $#nums - 1]"; print $str; __END__ 1 2 3 4 5
Merci pour la bonne réponse, mais non, je voudrais les stocker comme un scalaire que je souhaite transformer le nom de famille "ForName Initiername (S)" dans "nom de famille, prénom Initial (s)" et avez déjà extrait le nom de famille et ajouté une virgule à celle-ci. , ne pouvait tout simplement pas être prénom et initial (s).
my @foo = splice( @bar, 0, -1 );
Merci pour la réponse rapide, je me souviendrai des exemples pour plus tard, ils pourraient être utiles
Je pense que pop est un peu plus agréable que l'épissure pour éliminer le dernier élément :)