perl 将变量转换为数组

vh0rcniy  于 2023-10-24  发布在  Perl
关注(0)|答案(4)|浏览(164)

我有一个要求,把我的变量发送到数组。我有这样的东西:

var = "abc|xyz|123";

我想把上面的值放在一个数组中。

$arr[0]="abc";
$arr[1]="xyz";
$arr[2]="123";

我使用了下面的方法,但我没有得到数组的大小,而使用这种方法:

$var = "abc|xyz|123";
$var =~ tr/|/\n/; # transforming "|" to new line "\n"
@a = $var;
print $a[0];

完整的转换输出仅发送到变量,而不是单个变量。

vxqlmq5t

vxqlmq5t1#

使用split

@a = split(/\|/, $var);
elcex8rz

elcex8rz2#

你想用split

$var = 'abc|xyz|123';
@a = split '|', $var;
print $a[0];
ih99xse1

ih99xse13#

虽然我不太清楚你打算做什么,但在我看来,你是想自己解决一个已经有解决方案的问题?!
这应该可以做到:Using the Perl split() function

my $data = 'Becky Alcorn,25,female,Melbourne';
 my @values = split(',', $data);
yrwegjxp

yrwegjxp4#

你可以像这样使用正则表达式

$var=~s/(\w+|\d+)/$data[$gg++]=$1;''/eg;

现在数组@data在$var中保存标量数据.

相关问题