В настоящее время вы не можете экспортировать динамические переменные таким образом, и, возможно, мы никогда этого не сделаем.
Тем временем, поскольку это обычно происходит в контексте сценариев командной строки, есть способ обойти это:
# in your module:
PROCESS::<%SUB-MAIN-OPTS><named-anywhere> = True;
# in your script
dd %*SUB-MAIN-OPTS'
# Hash element = ${:named-anywhere}
Что вы делаете, так это то, что вы устанавливаете ключ named-anywhere
в хеше %SUB-MAIN-OPTS
, который находится в пространстве имен PROCESS::
.Это внешнее пространство имен, в котором ищутся динамические переменные, если их нельзя найти где-либо еще в стеке.Обратите внимание, что присвоение ключу named-anywhere
фактически оживит хеш, если его еще не существует.Так что это не помешает любым другим будущим дополнениям к хэшу %SUB-MAIN-OPTS
.