Perl 中的循环结构

while
类似 C 语言中的 while 语句:

while (condition) {
    #condition 为真时执行
}

until 可以理解为改装过的 while 循环:

until (condition) {
    # condition 为假时执行
}
# 即:
while (!(condition)) {
    # something happens
}

因此,任意一个 until 循环都可以等价改写为 while 语句。

for 语句类似 C 语言中的 for 控制,大致的结构如下:

for (init-statement; condition; statement) {
    # condition 为真时执行
}

for 语句实际上也可以是 while 语句的一种变体:

# init-statement;

while (condition) {
    # statement
}

for 语句中的 init-statementconditionstatement 都是可以省略的,但是分号必需保留,这和 C 语言中的语法是一致的。

for (;;) {
    # 一直执行,直到代码块内中断
}
# 更常见的写法是使用 while
while (1) {
    # 一直执行,直到代码块内中断
}

for 的另一种语法形式是:

for (list) {
    # do something
}

打印列表:

my @words = qw/bedrock quartz mica glass/;

for (@words) {
    # 逐个输出列表中的内容
    say;
}

foreach 语句和 for 语句实际上是等价的(对 Perl 解析器来说是如此,这个说法出自《Perl 语言入门(第六版)》,是否真的如此我没有考证过,既然书里说是,那就是吧)

my @words = qw/bedrock quartz mica glass/;

foreach (@words) {
    say;
}

上面代码同样是打印列表内容,不能说十分相似,只能说一模一样。
如果需要自定义循环变量的名称,可以采用如下写法:

foreach my $varname (@words) {
    say $varname;
}

这里用 for 也是一样的:

for my $varname (@words) {
    say $varname;
}

foreach 甚至也能支持 (init; condition; statement) 这样的语法结构(毕竟书里说是一样的了嘛~),但是应该不会有人这么写吧不会吧。。。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值