- Basic Toolchain: Task::Kensho::Toolchain
- Testing: Task::Kensho::Testing
- Logging: Task::Kensho::Logging
- Exception Handling: Task::Kensho::Exceptions
- Object Oriented Programming: Task::Kensho::OOP
- Asynchronous Programming: Task::Kensho::Async
- XML Development: Task::Kensho::XML
- Web Development: Task::Kensho::WebDev
- Web Crawling: Task::Kensho::WebCrawling
- Database Development: Task::Kensho::DBDev
- Excel / CSV: Task::Kensho::ExcelCSV
- Module Development: Task::Kensho::ModuleDev
- Email: Task::Kensho::Email
- Date Modules: Task::Kensho::Dates
- Scalability: Task::Kensho::Scalability
- Config Modules: Task::Kensho::Config
- Useful Command-line Tools: Task::Kensho::CLI
- Script Hackery: Task::Kensho::Hackery
- RELEASE SCHEDULE
- BUGS AND LIMITATIONS
- SEE ALSO
- LICENCE AND COPYRIGHT
Task::Kensho - A Glimpse at an Enlightened Perl
This document describes Task::Kensho version 0.33
> cpan Task::Kensho
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 first cut at building 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. These individual tasks will always install all their modules by default. This facilitates the ease and simplicity the distribution aims to achieve. Each Task::Kensho sub-task is listed at the beginning of its section in this documentation.
Basic Toolchain: Task::Kensho::Toolchain
Get, unpack, build and install modules from CPAN
Create and use a local lib/ for perl modules with PERL5LIB
Perl extension for Version Objects
Basic utilities for writing tests.
Most commonly needed test functions and features.
Test exception-based code
Check for POD errors in files
Check for pod coverage in your distribution.
Check for memory leaks and circular memory references
Code coverage metrics for Perl
Test deep data structures
Make running a test conditional on a particular module being installed
Ensure that no (unexpected) warnings occur during testing
Dispatches messages to one or more outputs
Log4j implementation for Perl
Simple logging interface with a contextual log
Exception Handling: Task::Kensho::Exceptions
Lightweight exception handling that handles the vagaries of $@.
Flexible exception handling without source filters, handles $@ properly.
Make builtins and other functions die instead of returning undef on failure.
Object Oriented Programming: Task::Kensho::OOP
Moose is a postmodern object system for Perl5. Task::Moose installs Moose and optionally a list of recommended modules that extend Moose.
Asynchronous Programming: Task::Kensho::Async
Multitasking and networking framework for Perl
XML Development: Task::Kensho::XML
Perl Binding for libxml2
Interface to the gnome libxslt library
Simple/Streaming API for XML
Perl extension for generating SAX2 events from nested Perl data structures.
Output XML from SAX2 Events
Web Development: Task::Kensho::WebDev
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 Processing System
Build CGI::FormBuilder configs from Perl syntax files.
Creates and updates RSS files
Atom feed and API implementation
Definition of MIME types
Web Crawling: Task::Kensho::WebCrawling
Lightweight HTTP client implementation
Web user agent class
Simple procedural interface to LWP
Handy web browsing in a Perl object
Database Development: Task::Kensho::DBDev
Database independent interface for Perl
Self Contained RDBMS in a DBI Driver
Extensible and flexible object <-> relational mapper.
Dynamic definition of a DBIx::Class::Schema
Manipulate structured data definitions (SQL and more)
Excel / CSV: Task::Kensho::ExcelCSV
Manipulate comma-separated values (CSV)
A simple interface to Excel data
Create Excel documents easily
Module Development: Task::Kensho::ModuleDev
Builds distributions of code to be uploaded to the CPAN.
Standalone, extensible Perl module installer
Powerful feature-rich perl source code profiler
Parses and beautifies perl source
Critique Perl source code for best-practices.
Warns and dies noisily with stack backtraces
enable all of the features of Modern Perl with one command
Parse and manipulate Perl version strings
Packages that provide templated software licenses
Convert POD to README file
Upload things to the CPAN
A simple email object. No, really!
Check validity of Internet email addresses
A library for sending email
The Swiss army chainsaw of assembling email messages
Date Modules: Task::Kensho::Dates
A date and time object
A date object with as little code as possible
A time object with as little code as possible
A date object with as little code as possible
Date parsing both relative and absolute
A unified cache interface, like DBI
Config Modules: Task::Kensho::Config
Load configuration from different file formats, transparently
Generic Config Module
Useful Command-line Tools: Task::Kensho::CLI
A grep-like text finder
Easy access to any pastebin
A modern perl interactive shell
What modules shipped with versions of perl
Manage perl installations in your $HOME
Script Hackery: Task::Kensho::Hackery
These 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.
Comments that do more than just sit there
Simple progress bars
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.
Starting with release 0.18 Task::Kensho was moved to a monthly release cycle. This will facilitate a consistent schedule for upstream vendors to track the changes in Task::Kensho.
BUGS AND LIMITATIONS
This list is by no means comprehensive of the "Good" Modules on CPAN. Nor is this neccessarily 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 practics, and a starting place on the road to Enlightened Perl programming.
Please report any bugs or feature requests to
firstname.lastname@example.org, or through the web interface at http://rt.cpan.org.
LICENCE AND COPYRIGHT
Copyright (c) 2008, 2009, Chris Prather
<email@example.com>. Some rights reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic.