Ответ 1
Наиболее удобными вариантами могут быть:
- Объявите константу с сигилом (например,
constant $KEY = "a string";
), тем самым избегая проблемы в первую очередь - Оберните левую сторону в круглых скобках (например,
(KEY) => "a value"
), поэтому оно не будет рассматриваться как литерал - Вместо этого напишите как
pair(KEY, "a value")
Также обратите внимание, что:
my %h = ( "{KEY}" => "a value" );
Бесполезное использование круглых скобок, и что:
my %h = KEY, "a value";
Будет также работать, поскольку Pair
non- в списке значений, назначаемых хешу, будет спарена. Однако он теряет визуальное сопряжение, поэтому один из ранее предложенных вариантов, возможно, лучше.