我正在尝试初始化这样的哈希:
use strict;
my %hash =
(
key => <<END;
abc
def
END
,
another_key => 17
);
当我在这段代码上运行perl -cw时,我在hash-initialize-test.pl第5行得到错误'语法错误,靠近“;”'。
有没有办法在哈希初始化中使用HEREIS表示法(例如<<END;
)?如果没有,为什么不呢?
有几种简单的解决方法,但我喜欢将HEREIS表示法用于多行字符串,因为它很优雅并且避免引入不必要的变量。
答案 0 :(得分:6)
删除分号。没有声明结束。
my %hash = ( key => <<'END',
abc
def
END
another_key => 17,
);