【发布时间】:2014-06-12 20:11:39
【问题描述】:
非常感谢您的帮助:
我想知道将特定标记从拆分直接存储到标量变量的最有效方法。
以如下代码为例:
my @temp = split( '_', $someString );
my $scalar = $temp[$index];
有没有办法把它合并成一行? 我尝试了以下失败:
my $scalar = @{split( '_', $someString )}[$index]
再次感谢您的帮助。
【问题讨论】:
非常感谢您的帮助:
我想知道将特定标记从拆分直接存储到标量变量的最有效方法。
以如下代码为例:
my @temp = split( '_', $someString );
my $scalar = $temp[$index];
有没有办法把它合并成一行? 我尝试了以下失败:
my $scalar = @{split( '_', $someString )}[$index]
再次感谢您的帮助。
【问题讨论】:
您可以使用以下方法从列表中提取元素:
my $scalar = (split '_', $someString)[$index];
【讨论】:
如果您提前知道索引,您可以分配给一个列表,例如对于 index=2:
my (undef, undef, $scalar) = split '_', $someString;
【讨论】:
你可以直接使用split的解决方案:
my $someString = 'asdf_asdf_asdfasd_f';
my $index = 0;
print ((split '_', $someString)[$index]);
# or for your $scalar
$scalar = (split '_', $someString)[$index];
输出:
asdf
【讨论】: