如何在perl中将字符串转换成list?

时间:2022-02-06 01:38:21
$test = 'atagacca';
将$test里的所有字母变成单个的字母,并将其放到@test 中
想过用shift, unpack, map, grep等来转换,当时没有发现有合适的方式使用

3 个解决方案

#1


为什么不用split ?

#2


非要用unpack的话:
my $a='aasdfasdf';
my @list = unpack ("A1" x length($a), $a);
print "@list";


#3


引用 2 楼 aylazhang 的回复:
非要用unpack的话:
Perl code
my $a='aasdfasdf';
my @list = unpack ("A1" x length($a), $a);
print "@list";

我刚才发现自己参数用的不对;
嗯,split 确实也可以的;

C:\Windows\system32> perl
$test = 'test';
@test = split //, $test;
print $test[3];^D
C:\Windows\system32> perl
$test = 'test';
@test = split //, $test;
print $test[3];^D
t

#1


为什么不用split ?

#2


非要用unpack的话:
my $a='aasdfasdf';
my @list = unpack ("A1" x length($a), $a);
print "@list";


#3


引用 2 楼 aylazhang 的回复:
非要用unpack的话:
Perl code
my $a='aasdfasdf';
my @list = unpack ("A1" x length($a), $a);
print "@list";

我刚才发现自己参数用的不对;
嗯,split 确实也可以的;

C:\Windows\system32> perl
$test = 'test';
@test = split //, $test;
print $test[3];^D
C:\Windows\system32> perl
$test = 'test';
@test = split //, $test;
print $test[3];^D
t