HTML::Element::Convert - Monkeypatch content conversion methods into HTML::Element


Version 0.10


  use HTML::TreeBulder;
  use HTML::Element::Convert;

  my $tree = HTML::TreeBuilder->new_from_content($html);

  # Search for some JSON-encoded meta-data embedded in the document and extract it:
  my $element = $tree->look_down(...);
  my $hash = $element->extract_content;

  # This time extract the YAML data and delete the containing element from the tree:
  $element = $tree->look_down(...);
  $hash = $element->pull_content;

  # Convert the content of any <div> with a 'lang="markdown"' attribute into HTML:

Look for every div below $element containing a lang attribute. If it recognizes lang, it will convert and replace the div's content.

Currently, only markdown is supported.

$content = $element->extract_content([TYPE])

Extract and parse the content of $element. If TYPE is given, then this method will assume the content is of the given type, and try to parse it accordingly. Otherwise it will use the lang attribute of $element to detemine the type.

$content = $element->pull_content([TYPE])

Like extract_content, extract and parse the content of $element. It will also delete $element from the tree.


Robert Krimen, <rkrimen at>


Please report any bugs or feature requests to bug-html-element-convert at, or through the web interface at I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.


You can find documentation for this module with the perldoc command.

    perldoc HTML::Element::Convert

You can also look for information at:



Copyright 2007 Robert Krimen, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.