PApp::Application - a class representing a single mountable application


   use PApp::Application;
   # you don't normally use this class directly



$papp = new PApp::Application args...
Do neccessary bookkeeping to mount an application.

Parse the package (includign all subpackages) and store the configuration and code data in the PApp Package Cache(tm) for use by load_config and load_code.

$ppkg->for_all_packages (callback<papp,path,name>, initial-path)
Run a sub for all packages in a papp.

Distributes the event to all subpackages/submodules.

Make sure the application is loaded (i.e. in-memory)

Just like PApp::surl and PApp::slink, except that it also jumps into the application (i.e. it switches applications). surl will act as if you were in the main module of the application.

$changed = $papp->check_deps
Check dependencies and unload application if any dependencies have changed.

register_file($name, %attrs)
Register an additional file (for dependency tracking and i18n scanning). There should never be a need to use this function. Example:
  $papp->register_file("/etc/issue", lang => "en", domain => "mydomain");

%files = $papp->files([include-imports])
Return a hash of path => { info... } pairs delivering information about all files of the application. If include-imports is true, also includes all files form imports.

``Run'' the application, i.e. find the current package & module and execute it.

$papp->new_package(same arguments as PApp::Package->new)
Creates a new PApp::Package that belongs to this application.


the PApp manpage.


 Marc Lehmann <>