Zeal - Read and query Dash/Zeal docsets


  use Zeal;
  my $zeal = Zeal->new("/home/mgv/docsets/:/home/mgv/something.docset");
  $zeal->add('/home/mgv/somethingelse.docset'); # Add another docset
  $zeal->add('/home/mgv/moredocsets/');         # Add a directory containing docsets

  my $doc = $zeal->query('length');             # Documentation for 'length' in all docsets
  my @docs = $zeal->query('Test::%', 'perl');   # Documentation for all Test:: perl modules
  @docs = $zeal->query('perl:Test::%);          # Alternative syntax


Dash is an offline API documentation browser. is a module for reading and querying Dash documentation sets.

This module queries multiple docsets. If you only have one docset, you should use the Zeal::Docset module directly.

Available methods:


Create a new Zeal object. $path is an optional colon delimited string for initializing the object. Each of its components is recursively scanned for docsets (and can also be a docset itself). If $path is not provided, the value of $ENV{ZEAL_PATH} (if defined) is used instead.


Recursively scan a path for docsets, adding them to this object.


Return a list of docsets (Zeal::Docset objects) in the given family, or in all families if $family is not provided.

$zeal->query($query, [$family])

Return a list of documents (Zeal::Document objects) matching a query, optionally restricted to a family. In scalar context only one such document is returned. $query is a SQL LIKE condition.



Marius Gavrilescu, <>


Copyright (C) 2014-2015 by Marius Gavrilescu

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.20.1 or, at your option, any later version of Perl 5 you may have available.