The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Task::Kensho - A Glimpse at an Enlightened Perl

VERSION

This document describes Task::Kensho version 0.11

SYNOPSIS

    > cpan Task::Kensho

DESCRIPTION,

From http://en.wikipedia.org/wiki/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"[1] or "true self."[2] It generally "refers to the
    realization of nonduality of subject and object."[3] 
    

Task::Kensho is a first cut at building a list of reccomended 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 Enlightned 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.

Basic Toolchain

Bundle::CPAN

Bundle to optimize the behaviour of CPAN.pm

local::lib

Create and use a local lib/ for perl modules with PERL5LIB

version

Perl extension for Version Objects

Testing

Test::Simple

Basic utilities for writing tests.

Test::Most

Most commonly needed test functions and features.

Test::Exception

Test exception based code

Test::Pod

Check for POD errors in files

Test::Pod::Coverage

Check for pod coverage in your distribution.

Test::Memory::Cycle

Check for memory leaks and circular memory references

Object Oriented Programming

Moose

A postmodern object system for Perl 5

MooseX::Types

Organise your Moose types in libraries

Moose::Autobox

Autoboxed wrappers for Native Perl datatypes

MooseX::AttributeHelpers

Extend your attribute interfaces

MooseX::Storage

An serialization framework for Moose classes

MooseX::Getopt

A Moose role for processing command line options

MooseX::SimpleConfig

A Moose role for setting attributes from a simple configfile

MooseX::StrictConstructor

Make your object constructors blow up on unknown attributes

namespace::autoclean

Keep imports and functions out of your namespace

Asynchronous Programming

POE

portable multitasking and networking framework for Perl

XML Development

XML::LibXML

Perl Binding for libxml2

XML::SAX

Simple/Streaming API for XML

XML::Generator::PerlData

Perl extension for generating SAX2 events from nested Perl data structures.

XML::SAX::Writer

Output XML from SAX2 Events

Web Development

Catalyst

The Elegant MVC Web Application Framework

Catalyst::View::TT

Template View Class

Catalyst::Model::DBIC::Schema

DBIx::Class::Schema Model Class

Catalyst::Devel

Catalyst Development Tools

Catalyst::Plugin::Session

Generic Session plugin - ties together server side storage and client side state required to maintain session data.

Catalyst::Plugin::Authentication

Infrastructure plugin for the Catalyst authentication framework

Catalyst::Plugin::StackTrace

Display a stack trace on the debug screen

Database Development

DBI

Database independent interface for Perl

DBD::SQLite

Self Contained RDBMS in a DBI Driver

DBIx::Class

Extensible and flexible object <-> relational mapper.

DBIx::Class::Schema::Loader

Dynamic definition of a DBIx::Class::Schema

SQL::Translator

Manipulate structured data definitions (SQL and more)

Web Crawling

Bundle::LWP

Install all libwww-perl related modules

LWP::Simple

Simple procedural interface to LWP

WWW::Mechanize

Handy web browsing in a Perl object

Module Development

Module::Starter

A simple starter kit for any module

Module::Install

Standalone, extensible Perl module installer

Devel::NYTProf

Powerful feature-rich perl source code profiler

Perl::Tidy

Parses and beautifies perl source

Carp::Always

Warns and dies noisily with stack backtraces

Modern::Perl

enable all of the features of Modern Perl with one command

Perl::Version

Parse and manipulate Perl version strings

Software::License

Packages that provide templated software licenses

Pod::Readme

Convert POD to README file

Date Modules

DateTime

A date and time object

Date::Tiny

A date object with as little code as possible

Time::ParseDate

Date parsing both relative and absolute

Time::y2038

Versions of Perl's time functions which work beyond 2038

Config Modules

Config::Any

Load configuration from different file formats, transparently

Config::General

Generic Config Module

Useful Command-line Tools

App::Ack

A grep-like text finder

App::Nopaste

Easy access to any pastebin

Devel::REPL

A modern perl interactive shell

Module::Corelist

What modules shipped with versions of perl

Script 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.

Smart::Comments

Comments that do more than just sit there

IO::All

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.

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 practicies, and a starting place on the road to Enlightened Perl programming.

Please report any bugs or feature requests to bug-task-kensho@rt.cpan.org, or through the web interface at http://rt.cpan.org.

SEE ALSO

http://www.enlightenedperl.org/, Perl::Dist::Strawberry, http://gitorious.org/projects/task-kensho

AUTHOR

Chris Prather <chris@prather.org>

LICENCE AND COPYRIGHT

Copyright (c) 2008, 2009, Chris Prather <chris@prather.org>. 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.