Ваш метод getVarHash()
возвращает ссылку на хеш. И когда вы разыменовываете хэш и просматриваете его содержимое, вы видите, что оно содержит ссылки на другие хэши.
На самом деле, эти хэши второго уровня - это не просто ссылки на обычные хеши - это благословенные хэши. Вы можете видеть это из Variable=
перед ссылкой на хеш в вашем выводе. «Благословенный хэш» - это объект. Итак, у вас есть несколько объектов «Переменной». Похоже, это не стандартный класс Perl, так что, надеюсь, у вас будет документация о том, как использовать этот класс.
Вы должны действительно относиться к объектам как к черным ящикам и использовать опубликованный интерфейс для доступа к данным внутри них. Но при необходимости вы можете обращаться с ними как с обычными хеш-ссылками.
Самый простой способ увидеть, что находится в такой сложной структуре данных, это использовать что-то вроде Data :: Dumper для отображения структуры.
use feature 'say';
use Data::Dumper;
say Dumper $vars->getVarHash();
Perl имеет много хорошей документации о том, как понимать сложные структуры данных и манипулировать ими. Я рекомендую взглянуть на Поваренная книга структур данных .