我在使用perl splice()方法时遇到了麻烦.Bellow你会看到我首先确定我正在寻找的两个字符串的索引,然后使用索引执行splice()以获得所需的数组.
我的代码如下:
my @a = qw(foo bar bazz elements in between hello bazz johnny bl aba);
my $z = 0;
for (my $i = 0; $i < @a; $i++)
{
next unless $a[$i] =~ /bazz/;
if( $z eq 0 )
{
$z++;
$first = $i;
}
else
{
$second = $i;
}
my @b = splice(@a,$first,$second);
print Dumper(@b);
}
Run Code Online (Sandbox Code Playgroud)
打印结果如下:
$VAR1 = 'bazz';
$VAR2 = 'elements';
$VAR3 = 'in';
$VAR4 = 'between';
$VAR5 = 'hello';
$VAR6 = 'bazz';
$VAR7 = 'johnny';
Run Code Online (Sandbox Code Playgroud)
我的印象是,拼接将大块放在给定限制之间,包括当然.我不明白为什么元素'johnny'会在那里.列表不应该停在第二个'bazz'吗?
感谢您对此问题的任何指示.
| 归档时间: |
|
| 查看次数: |
342 次 |
| 最近记录: |