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