Разыменование ссылки на хэш HTML :: Элемент - PullRequest
1 голос
/ 17 февраля 2012

Я перебираю массив, в котором хранятся некоторые значения из HTML::TreeBuilder, где использовался look_down(). Когда я print $value, я получаю следующее, которое я бы хотел разыменовать.

HTML::Element=HASH(0xe687f4)

Печать \$value, кажется, возвращает общую ссылку:

REF(0xe6ea84)

Какой символ (ы) мне нужен для разыменования ссылки на хеш HTML :: Element?

Примечание: Использование $$value возвращает ошибку Not a SCALAR reference

РЕДАКТИРОВАТЬ: Решение найдено благодаря cjm через комментарии. Мне нужно было распечатать $value->as_HTML

1 Ответ

5 голосов
/ 17 февраля 2012

Если у вас есть объект (обозначенный как часть «HTML :: Element» в HTML::Element=HASH(0xe687f4)), вы обычно должны получать к нему доступ только через документированный интерфейс. Для HTML :: Element важными методами являются as_HTML (который возвращает элемент и его содержимое в виде строки HTML-кода) и dump (который выводит сводку содержимого и полезен для отладки ).

Итак, если вы хотите распечатать извлеченный HTML, используйте:

print $value->as_HTML;
...