# apt-get install libtask-kensho-all-perl
- Kenshō (見性) (C. Wu) is a Japanese term for enlightenment experiences - most commonly used within the confines of Zen Buddhism - literally meaning ``seeing one's nature'' or ``true self.'' It generally ``refers to the realization of nonduality of subject and object.''
Task::Kensho is a list of recommended modules for Enlightened Perl development. CPAN is wonderful, but there are too many wheels and you have to pick and choose amongst the various competing technologies.
The plan is for Task::Kensho to be a rough testing ground for ideas that go into among other things the Enlightened Perl Organisation Extended Core (EPO-EC).
The modules that are bundled by Task::Kensho are broken down into several categories and are still being considered. They are all taken from various top 100 most used perl modules lists and from discussions with various subject matter experts in the Perl Community. That said, this bundle does not follow the guidelines established for the EPO-EC for peer review via industry advisers.
Starting in 2011, Task::Kensho split its sub-groups of modules into individually-installable tasks. Each Task::Kensho sub-task is listed at the beginning of its section in this documentation.
When installing Task::Kensho in Debian GNU/Linux, you can install each sub-task metapackage separately (e.g. libtask-kensho-async-perl), or you can install all tasks at once by installing the libtask-kensho-all-perl metapackage. These metapackages facilitate the ease and simplicity the distribution aims to achieve whilst utilising the power of the Debian GNU/Linux package system.
Task::Kensho::Async: Async ProgrammingIO::Async
Asynchronous event-driven programming
Multitasking and networking framework for Perl
Task::Kensho::CLI: Useful Command-line ToolsApp::Ack
A grep-like text finder
Easy access to any pastebin
a modern perl interactive shell
What modules shipped with versions of perl
Task::Kensho::Config: Config ModulesConfig::Any
Load configuration from different file formats, transparently
Generic Config Module
wrapper around the most current and fast JSON backends
Task::Kensho::DBDev: Database DevelopmentDBD::SQLite
Self Contained RDBMS in a DBI Driver
Database independent interface for Perl
Extensible and flexible object <-> relational mapper.
Dynamic definition of a DBIx::Class::Schema
Manipulate structured data definitions (SQL and more)
Task::Kensho::Dates: Date ModulesDate::Tiny
A date object with as little code as possible
A date and time object
A date time object with as little code as possible
Date parsing both relative and absolute
A time object with as little code as possible
The Swiss army chainsaw of assembling email messages
A library for sending email
A simple email object. No, really!
Check validity of Internet email addresses
A simple interface to Excel data
Create Excel documents easily
Manipulate comma-separated values (CSV)
Task::Kensho::Exceptions: Exception HandlingTry::Tiny
Lightweight exception handling that handles the vagaries of [email protected]
Make builtins and other functions die instead of returning undef on failure.
Task::Kensho::Hackery: Script HackeryThese packages are included less for production work and more for whippitupitude. They reflect packages that people have found incredibly useful for prototyping and debugging before reducing down to a production script.
IO::All combines all of the best Perl IO modules into a single nifty object oriented interface to greatly simplify your everyday Perl IO idioms.
Comments that do more than just sit there
Simple progress bars
Log::Contextual is a simple interface to extensible logging. It is bundled with a really basic logger, Log::Contextual::SimpleLogger.
This module manages a set of Log::Dispatch::* output objects that can be logged to via a unified interface.
Log::Log4perl lets you remote-control and fine-tune the logging behaviour of your system from the outside. It implements the widely popular (Java-based) Log4j logging package in pure Perl.
Task::Kensho::ModuleDev: Module DevelopmentCPAN::Uploader
Upload things to the CPAN
Colored pretty-print of Perl data structures and objects
Include stack traces on all warnings and errors
Combine warns and Data::Dumper::Concise
Powerful feature-rich perl source code profiler
Builds distributions of code to be uploaded to the CPAN.
enable all of the features of Modern Perl with one command
A simple, lightweight, drop-in replacement for ExtUtils::MakeMaker or Module::Build
Critique Perl source code for best-practices.
Parses and beautifies perl source
Parse and manipulate Perl version strings
Convert POD to README file
Packages that provide templated software licenses
Task::Kensho::OOP: Object Oriented ProgrammingMoo
Minimalist Object Orientation (with Moose compatibility)
a postmodern object system for Perl5
easy aliasing of methods and attributes in Moose
a Moose role for processing command line options
easy subclassing of non-Moose classes
Moose roles with composition parameters
a Moose role for setting attributes from a simple configuration file
a Moose extension that makes your object constructors blow up on unknown attributes
Task::Moose installs Moose and optionally a list of recommended modules that extend Moose.
tiny, yet Moo(se)-compatible type constraints
keep imports out of your namespace (Moose-aware)
A unified cache interface, like DBI
Perl binding for Redis database
Code coverage metrics for Perl
Test deep data structures
Test exception-based code
Check for memory leaks and circular memory references
Check for POD errors in files
Check for pod coverage in your distribution.
Make running a test conditional on a particular module being installed
Basic utilities for writing tests.
Test for warnings and the lack of them
Task::Kensho::Toolchain: Basic ToolchainApp::FatPacker
Pack your dependencies onto your script file
Get, unpack, build and install modules from CPAN
Manage perl installations in your $HOME
Create a minimal mirror of CPAN
Perl module dependency manager (aka Bundler for Perl)
Curate a repository of Perl modules
Create and use a local lib/ for perl modules with PERL5LIB
Perl extension for Version Objects
Task::Kensho::WebCrawling: Web CrawlingHTTP::Thin
A Thin Wrapper around HTTP::Tiny to play nice with HTTP::Message
Lightweight HTTP client implementation
Simple procedural interface to LWP
Full-featured Web client library for Perl
Handy web browsing in a Perl object
This module combines WWW::Mechanize and HTML::TreeBuilder.
Perl Client for the Selenium Remote Control test tool
Task::Kensho::WebDev: Web DevelopmentCGI::FormBuilder::Source::Perl
Build CGI::FormBuilder configs from Perl syntax files.
the new generation of Dancer, a lightweight yet powerful web application framework
HTML forms using Moose
Definition of MIME types
Real-time web framework
Flexible superglue between Web Servers and Perl Web Frameworks or code.
Catalyst is The Elegant MVC Web Application Framework. Task::Catalyst is all you need to start with Catalyst.
(Template::Toolkit) Template Processing System
Atom feed and API implementation
Creates and updates RSS files
Task::Kensho::XML: XML DevelopmentRDF::Trine
An RDF Framework for Perl
Perl extension for generating SAX2 events from nested Perl data structures.
Perl Binding for libxml2
Interface to the gnome libxslt library
Simple/Streaming API for XML
Output XML from SAX2 Events
INSTALLINGTo install all Task::Kensho tasks and their recommended modules on Debian GNU/Linux, install the libtask-kensho-all-perl metapackage:
# apt-get install libtask-kensho-all-perl
Each Kensho task is itself a metapackage. To install a specific task, install the relevant metapackage. E.g. for Task::Kensho::Async:
# apt-get install libtask-kensho-async-perl
LIMITATIONSThis list is by no means comprehensive of the ``Good'' Modules on CPAN. Nor is this necessarily the correct path for all developers. Each of these modules has a perfectly acceptable replacement that may work better for you. This is however a path to good perl practice, and a starting place on the road to Enlightened Perl programming.
SUPPORTbugs may be submitted through <https://github.com/EnlightenedPerlOrganisation/task-kensho/issues>.
There is also an irc channel available for users of this distribution, at "#epo" on "irc.perl.org" <irc://irc.perl.org/#epo>.
AUTHORChris Prather <[email protected]>
COPYRIGHT AND LICENCEThis software is copyright (c) 2008 by Chris Prather.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.