perl for循环的理解问题

  • 本文关键字:问题 for 循环 perl perl
  • 更新时间 :
  • 英文 :


我正在看一些旧的Perl代码,我试图弄清楚这句话到底是什么意思——我做过编程,但没有用Perl。很难理解这个for语句的真正含义

for ($xx = $x+1 ; $contents[$xx] !~ m/^:1S:XXX/  ; $xx++)

是否循环直到找到:1S:XXX

如果不是,那么这意味着什么?

有人能帮忙吗?

感谢

这可能更清楚:

$xx = $x+1;
$xx++ until substr($contents[$xx], 0, 7) eq ':1S:XXX';

然而,这两个和你的for循环永远如果:1S:XXX没有找到。因此,如果在$x+1的起始点或之后的数组元素的开始处没有找到搜索字符串,我会认为这使得$xx没有定义。

use List::Util 'first';
my $xx = first { $contents[$_] =~ /^:1S:XXX/ } $x+1 .. @contents-1;

在perl正则表达式:可以有在前面,但不需要它。

最新更新