为了账号安全,请及时绑定邮箱和手机立即绑定

Perl 如何数组转字符串!急!

Perl 如何数组转字符串!急!

饮歌长啸 2019-05-31 07:02:52
本人初学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贡献1804条经验 获得超7个赞

你就用push呗,push是每次往列表的右边加上一个元素;你说的逐行去除那是pop.
列表变量本来就可以转化为content变量,直接转就是了。

@a = ('P','e','r','l');
my ($b)=[0,1,2,3];

查看完整回答
反对 回复 2019-06-01
?
心有法竹

TA贡献1866条经验 获得超5个赞

$b = [@a];


push @$b, shift @a while @a;


顺便说两句:

  1. 这不叫字符串多值, 这叫  Array Reference (数组引用, 引用数组 ... ) Perl 不会将 string 当成 char array 的. perl 没有 char 这种变量形态

  2. 如可以, 请避用 $a $b (或 @a @b ) , 这两个变量尽量留给 sort {} 用.




查看完整回答
反对 回复 2019-06-01
?
芜湖不芜

TA贡献1796条经验 获得超7个赞

@a = ('P','e','r','l'); $t=join "",@a; print $t;

字符串,直接取就是了。

查看完整回答
反对 回复 2019-06-01
  • 3 回答
  • 0 关注
  • 563 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信