在perl中将变量转换为数组

时间:2012-04-15 19:14:53

标签: perl

我需要将变量发送到数组。我有类似的东西

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];

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

请帮我解决这个问题。

此致 Sriharsha Kalluru。

3 个答案:

答案 0 :(得分:8)

使用split

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

答案 1 :(得分:0)

虽然我不太确定你打算做什么,但在我看来,你正试图自己解决一个已经有解决方案的问题?!​​

这应该可以解决问题:Using the Perl split() function

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

答案 2 :(得分:0)

您想使用拆分

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