求教一个问题:perl语言,怎么把字符串每一个字符读到数组里

使用标准输入获得字符串
my $string=<STDIN>;
我希望可以把$string里的字符赋值到一个数组中,@array
e.g. $string="China."
$array[0]='C', ,,, 诸如此类

谢谢

具体函数我不清楚是否可以直接实现,但是可以通过变相实现。

#!/usr/bin/perl -w
use strict;
my $string = "China";
my @Array;
for(my $i = 0; $i < length($string); $i++){
$Array[$i] = substr($string,$i,1);
}

for(my $i = 0; $i < @Array; $i++){
print "$Array[$i]\n";
}

其中:
for(my $i = 0; $i < length($string); $i++){
$Array[$i] = substr($string,$i,1);
}

是根据字符串长度,将字符逐个存入到数组中。

for(my $i = 0; $i < @Array; $i++){
print "$Array[$i]\n";
}
这个是输出字符串内容,看是否成功!

测试结果是可以的
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-04-07
@array = split //,$string;得到字符

@array=unpack("C*",$string)得到字符ASCII
第2个回答  2013-04-08
use 5.16.0;
use strict;

my $string=<STDIN>;
my @arr = split('', $string);
for my $var(@arr){
say $var;
}
相似回答