perl - Perl 的 `foreach` 语句中括号的用途是什么?

标签 perl syntax foreach

我总是想知道为什么我必须写

foreach my $x (@arr)

代替
foreach my $x @arr

这里括号的目的是什么?

最佳答案

我只能想到一个具体的原因。以下代码有效:

for ($foo) {
    $_++
}

如果你要把它改成
for $foo {
    $_++
}

那你真的会说
for $foo{$_++}

(即哈希查找)。 Perl 6 通过改变空格处理变量的方式来解决这个问题(你不能说 %foo <bar> 并让它与 %foo<bar> 具有相同的含义)。

关于perl - Perl 的 `foreach` 语句中括号的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3650000/

相关文章:

swift 3 更新 swift 2 的语法

swift - 如何快速迭代数组并同时检查元素类型?

java - 使用 'advanced' 为每个循环在 Java 中初始化一个数组

multithreading - 线程 perl 中未锁定的共享哈希操作安全性

syntax - 如何在一行中混合绑定(bind)(<-)和赋值(let)? (在 haskell )

javascript - angularjs 增加 json feed 中的项目

PHP在SQL中插入未知行数

linux - 如何配置 Apache 2 以运行 Perl CGI 脚本?

c++ - 使用内联 CPP 调用 so 文件中的函数不起作用

multithreading - Perl:如何编辑shared_clone的结构?