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