Padre::Feature(3) Constants to support currying of feature_* config options


Padre::Config contains a series of ``feature'' settings, stored in the "feature_*" configuration namespace. These settings are intended to allow the optional removal of unwanted features (and their accompanying bloat), and the optional inclusion of experimental features (and their accompanying instability).

To allow both the removal and inclusion of option features to be done efficiently, Padre checks the configuration at startup time and cooks these preferences down into constants in the Padre::Feature namespace.

With this mechanism the code for each feature can be compiled away entirely when it is not in use, making Padre faster and recovering the memory that these features would otherwise consume.

The use of a dedicated module for this purpose ensures this config to constant compilation is done in a single place, and provides a module dependency target for modules that use this system.


Copyright 2008-2013 The Padre development team as listed in

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