是否可以在一行中编写Perl foreach循环?

Eri*_*sum 14 perl foreach

是否可以foreach在Perl中使用单行循环?

$hash{$thing}++ foreach my $thing (@things);
Run Code Online (Sandbox Code Playgroud)

我知道这可能与许多其他命令,如,

die "Invalid file!\n" if (open($Handle, "file.txt"));
Run Code Online (Sandbox Code Playgroud)

我知道开放的声明可能会破坏:)

Ran*_*rtz 33

几乎.在foreach后缀中,您必须使用$ _:

$hash{$_}++ foreach @things;
Run Code Online (Sandbox Code Playgroud)

或等价(因为forforeach的别名语法):

$hash{$_}++ for @things;
Run Code Online (Sandbox Code Playgroud)

  • 请您指出该语法的文档记录在哪里?perlsyn 页面没有提到这一点。 (2认同)