perl - 这两个定义有什么区别?

标签 perl perl-hash

为什么是语法错误:

my @hash{1..4}=(1..4);

但不是这个:

my %hash;
@hash{1..4}=(1..4);

最佳答案

第一个例子是词法范围的 'my' +一个hash slice它预先假设可以以切片的方式声明哈希,这是无效的语法。你的第二个例子是合适的,首先声明散列,假设你正在使用'ing strict + warnings;

关于perl - 这两个定义有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11034902/

相关文章:

arrays - Perl:计算复杂数据结构中的元素

perl - 对使用 perl 合并哈希输出感到困惑

perl - Perl 散列名称(在声明时)可以在同一个散列中使用吗?

linux - 如何找出并控制 Perl 模块在本地存储的位置?

perl - 无法对 WWW/Mechanize.pm 第 2566 行的未定义值调用方法 "header"

.net - 在 .NET 中自动扩展数组?

Perl 通过哈希引用删除基键

来自哈希引用的 Perl 访问值

perl - 在 Perl 中迭代哈希