【问题标题】:Storing a token resulting from a split directly to a scalar variable [duplicate]将拆分产生的令牌直接存储到标量变量[重复]
【发布时间】:2014-06-12 20:11:39
【问题描述】:

非常感谢您的帮助:

我想知道将特定标记从拆分直接存储到标量变量的最有效方法。

以如下代码为例:

my @temp = split( '_', $someString );
my $scalar = $temp[$index];

有没有办法把它合并成一行? 我尝试了以下失败:

my $scalar = @{split( '_', $someString )}[$index]

再次感谢您的帮助。

【问题讨论】:

标签: perl split token scalar


【解决方案1】:

您可以使用以下方法从列表中提取元素:

my $scalar = (split '_', $someString)[$index];

【讨论】:

    【解决方案2】:

    如果您提前知道索引,您可以分配给一个列表,例如对于 index=2:

    my (undef, undef, $scalar) = split '_', $someString;
    

    【讨论】:

      【解决方案3】:

      你可以直接使用split的解决方案:

      my $someString = 'asdf_asdf_asdfasd_f';
      my $index = 0;
      
      print ((split '_', $someString)[$index]);
      # or for your $scalar
      $scalar = (split '_', $someString)[$index];
      

      输出:

      asdf
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-04-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-19
        • 1970-01-01
        • 2018-05-20
        • 1970-01-01
        相关资源
        最近更新 更多