Предположим есть такой код (добавил нумерацию строк для наглядности)
1: use strict;
2:
3: my %a = (
4: a => 12,
5: b => '',
6: x => { z => 22 },
7: l => 'sd'
8: );
9:
10: my %c = (
11: f => 'test',
12: b => $a{b}{c},
13: g => $a{a},
14: d => $a{x}{z},
15: );
он выдает такую ошибку: Can't use string ("") as a HASH ref while "strict refs" in use at /tmp/t.pl line 15.
Из него совершенно неочевидно где именно произошла ошибка. Если структура %c
будет ещё сложнее и длиннее, то поиск ошибки вообще превратится в боль. Можно ли как-то сделать, чтобы perl явно показал, что проблема в данном случае в $a{b}{c}
?