本人初学perl,请教如何将一个数组多值转成一个字符串的多个值。以@a = ('P','e','r','l')为例,想要得到$b = ['P','e','r','l']值。应该就是把@a $VAR1 = 'P';$VAR2 = 'e';$VAR3 = 'r';$VAR4 = 'l';变成$b$VAR1 = ['P','e','r','l'];顺便问下,倒过来的话,数组逐行push去字符串push($b,shift(@a)) , 这里push怎么用的?多谢!
3 回答
湖上湖
TA贡献2003条经验 获得超2个赞
你就用push呗,push是每次往列表的右边加上一个元素;你说的逐行去除那是pop.
列表变量本来就可以转化为content变量,直接转就是了。
@a = ('P','e','r','l');
my ($b)=[0,1,2,3];
慕雪6442864
TA贡献1812条经验 获得超5个赞
$b = [@a];
push @$b, shift @a while @a;
顺便说两句:
这不叫字符串多值, 这叫 Array Reference (数组引用, 引用数组 ... ) Perl 不会将 string 当成 char array 的. perl 没有 char 这种变量形态
如可以, 请避用 $a $b (或 @a @b ) , 这两个变量尽量留给 sort {} 用.
添加回答
举报
0/150
提交
取消