在perl中,可以在哈希初始化中使用HEREIS表示法吗?

Dav*_*ner 3 perl hash initialization

我试图初始化这样的哈希:

use strict;

my %hash =
(
    key => <<END;
abc
def
END
    ,
    another_key => 17
);
Run Code Online (Sandbox Code Playgroud)

当我在这段代码上运行perl -cw时,我在hash-initialize-test.pl第5行,";"附近得到错误'语法错误.

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

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

cho*_*oba 6

删除分号.没有声明结束.

my %hash = ( key => <<'END',
abc
def
END
             another_key => 17,
           );
Run Code Online (Sandbox Code Playgroud)