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

请教一下Perl如何数组转字符串!急!

请教一下Perl如何数组转字符串!急!

本人初学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];

查看完整回答
反对 回复 2021-10-18
?
慕雪6442864

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

$b = [@a];

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

顺便说两句:

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

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


查看完整回答
反对 回复 2021-10-18
?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

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

字符串,直接取就是了。

查看完整回答
反对 回复 2021-10-18
  • 3 回答
  • 0 关注
  • 425 浏览
慕课专栏
更多

添加回答

举报

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