Здесь переписаны три строки, которые вы пытались добавить в хеш с исправленным синтаксисом. Это может быть не тот код, который вам нужен, но он больше не должен выдавать ошибку.
#%{$design} = eastside=>ne;
$design{eastside} = 'ne';
#$design{box}->{eastside}=Data=>ne;
$design{box}{eastside} = {data => 'ne'};
#%{$design}{box}={eastside=>Data=>ne};
$design{box} = {eastside => {Data => 'ne'}};
Моя первоначальная мысль была, вероятно, неосновной из-за того, что ржавый с perl:
Похоже, что хеш, $ design, с которого вы начинаете, это вывод Dumper, а не фактический синтаксис perl для определения хеша.
Попробуйте определить хеш следующим образом:
use Data::Dumper;
my %design
$design{'box'}{'ne'} = {'data' => 'north-east'};
$design{'box'}{'n'} = {'data' => 'north'};
$design{'box'}{'nw'} = {'data' => 'north-west'};
print $design{'box'}{'nw'}{'data'};
print "\n";
print Dumper(\%design);
Это должно вывести:
north-west
$VAR1 = {
'box' => {
'n' => {
'data' => 'north'
},
'ne' => {
'data' => 'north-east'
},
'nw' => {
'data' => 'north-west'
}
}
};