本人初學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
提交
取消