带有条件perl的foreach循环?

带有条件perl的foreach循环?,perl,for-loop,Perl,For Loop,在Perl中是否可能有一个带有条件的foreach循环 我必须进行大量逐字符处理-其中,foreach循环非常方便。请注意,我不能使用一些图书馆,因为这是学校图书馆 如果需要,我可以使用带有条件的substr为循环编写,但我希望避免这种情况 您可以调查和指令。更多信息请参见。例如: foreach my $l (@something) { last if (condition); # ... } 如果条件为真,将退出循环。您应该向我们展示一些代码,包括您想做的事情 通常,字符串的逐字符

在Perl中是否可能有一个带有条件的
foreach
循环

我必须进行大量逐字符处理-其中,
foreach
循环非常方便。请注意,我不能使用一些图书馆,因为这是学校图书馆

如果需要,我可以使用带有条件的
substr
为循环编写
,但我希望避免这种情况

您可以调查和指令。更多信息请参见。

例如:

foreach my $l (@something) {
  last if (condition);
  # ...
}

如果条件为真,将退出循环。您应该向我们展示一些代码,包括您想做的事情

通常,字符串的逐字符处理将在Perl中通过编写

for my $ch (split //, $string) { ... }
或者,如果更方便的话

my @chars = split //, $string;
for (@chars) { ... }

可等效为

substr($string, 0, 1) = 'X';
如果使用
split
将字符串转换为字符列表(实际上是一个字符串),则可以在此状态下对其进行修改,并使用
join
将其重新组合为字符串。比如说

my@chars=split/,$string; $chars[0]=“X”; $string=加入“”,@chars


使用
substr

执行与上述代码类似的操作,非常感谢。拆分然后执行while循环对我来说是最好的选择。这肯定会奏效。我尽量远离“最后一次”或休息:)
substr $string, 0, 1, 'X';
substr($string, 0, 1) = 'X';