【问题标题】:Convert variable into array in perl在perl中将变量转换为数组
【发布时间】:2012-04-16 03:23:36
【问题描述】:

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

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

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

请帮帮我。

问候, 斯里哈莎·卡鲁鲁。

【问题讨论】:

    标签: perl


    【解决方案1】:

    使用split:

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

    【讨论】:

      【解决方案2】:

      你想使用拆分

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

      【讨论】:

      • 唉,这将打印a,因为split 将模式视为正则表达式,而| 是正则表达式元字符。 (正则表达式| 匹配空字符串或空字符串,这有点傻,但从技术上讲是一个有效的正则表达式。)要修复它,您应该引用|,如Mat 所示。另外,请在发布之前测试您的代码。
      【解决方案3】:

      虽然我不太确定您打算做什么,但在我看来,您似乎是在尝试自己解决已经有解决方案的问题?!​​

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

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

      【讨论】:

        猜你喜欢
        • 2013-05-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多