3
我想初始化像這樣的哈希:在Perl中,HEREIS符號可以在哈希初始化中使用嗎?
use strict;
my %hash =
(
key => <<END;
abc
def
END
,
another_key => 17
);
當我在此代碼運行perl - 順,我得到的錯誤「語法錯誤在hash-initialize-test.pl 5號線,近「; 「」。
在散列初始化中有沒有辦法使用HEREIS表示法(如<<END;
)?如果不是,爲什麼不呢?
有幾個簡單的解決方法,但我喜歡使用HEREIS符號表示多行字符串,因爲它很優雅,並避免引入不必要的變量。
我試過choroba的解決方案,它的工作。以前,我總是在HEREIS表示法中使用分號,並且從來沒有用逗號結束尾部引號,但在這種情況下它是有意義的,因爲散列初始化中的鍵 - 值對以逗號結束。謝謝! –
它通常被稱爲[** HEREDOC **](https://duckduckgo.com/?q=perldoc+heredoc)。 (不要改變這個問題,因爲尋找這裏的人也需要能夠找到這些信息) –