在 perl 中,可以在哈希初始化中使用 HEREIS 符号吗?

In perl, can HEREIS notation be used inside hash initialization?

我正在尝试像这样初始化哈希:

use strict;

my %hash =
(
    key => <<END;
abc
def
END
    ,
    another_key => 17
);

当我在此代码上运行 perl -cw 时,出现错误 'syntax error at hash-initialize-test.pl line 5, near ";"'。

有没有办法在哈希初始化中使用 HEREIS 符号(例如 <<END;)?如果不是,为什么不呢?

有几种简单的解决方法,但我喜欢对多行字符串使用 HEREIS 表示法,因为它很优雅,并且避免引入不必要的变量。

删除分号。没有语句结束。

my %hash = ( key => <<'END',
abc
def
END
             another_key => 17,
           );