- NAME
- VERSION
- SYNOPSIS
- DESCRIPTION
- RECOMMENDED MODULES
- Task::Kensho::Async: Async Programming
- Task::Kensho::CLI: Useful Command-line Tools
- Task::Kensho::Config: Config Modules
- Task::Kensho::DBDev: Database Development
- Task::Kensho::Dates: Date Modules
- Task::Kensho::Email: Email
- Task::Kensho::ExcelCSV: Excel/CSV
- Task::Kensho::Exceptions: Exception Handling
- Task::Kensho::Hackery: Script Hackery
- Task::Kensho::Logging: Logging
- Task::Kensho::ModuleDev: Module Development
- Task::Kensho::OOP: Object Oriented Programming
- Task::Kensho::Scalability: Scalability
- Task::Kensho::Testing: Testing
- Task::Kensho::Toolchain: Basic Toolchain
- Task::Kensho::WebCrawling: Web Crawling
- Task::Kensho::WebDev: Web Development
- Task::Kensho::XML: XML Development
- INSTALLING
- LIMITATIONS
- SEE ALSO
- SUPPORT
- AUTHOR
- CONTRIBUTORS
- COPYRIGHT AND LICENCE
NAME
Task::Kensho - A Glimpse at an Enlightened Perl
VERSION
version 0.39
SYNOPSIS
> cpanm --interactive 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 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 itself, you will be asked to install each sub-task in turn, or you can install individual tasks separately. These individual tasks will always install all their modules by default. This facilitates the ease and simplicity the distribution aims to achieve.
RECOMMENDED MODULES
Task::Kensho::Async: Async Programming
IO::Async
Asynchronous event-driven programming
POE
Multitasking and networking framework for Perl
Task::Kensho::CLI: 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
Task::Kensho::Config: Config Modules
Config::Any
Load configuration from different file formats, transparently
Config::General
Generic Config Module
JSON::MaybeXS
wrapper around the most current and fast JSON backends
Task::Kensho::DBDev: Database Development
DBD::SQLite
Self Contained RDBMS in a DBI Driver
DBI
Database independent interface for Perl
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)
Task::Kensho::Dates: Date Modules
Date::Tiny
A date object with as little code as possible
DateTime
A date and time object
DateTime::Tiny
A date time object with as little code as possible
Time::ParseDate
Date parsing both relative and absolute
Time::Tiny
A time object with as little code as possible
Task::Kensho::Email: Email
Email::MIME::Kit
The Swiss army chainsaw of assembling email messages
Email::Sender
A library for sending email
Email::Simple
A simple email object. No, really!
Email::Valid
Check validity of Internet email addresses
Task::Kensho::ExcelCSV: Excel/CSV
Spreadsheet::ParseExcel::Simple
A simple interface to Excel data
Spreadsheet::WriteExcel::Simple
Create Excel documents easily
Text::CSV_XS
Manipulate comma-separated values (CSV)
Task::Kensho::Exceptions: Exception Handling
Try::Tiny
Lightweight exception handling that handles the vagaries of $@.
autodie
Make builtins and other functions die instead of returning undef on failure.
Task::Kensho::Hackery: 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.
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.
Smart::Comments
Comments that do more than just sit there
Term::ProgressBar::Simple
Simple progress bars
Task::Kensho::Logging: Logging
Log::Contextual
Log::Contextual is a simple interface to extensible logging. It is bundled with a really basic logger, Log::Contextual::SimpleLogger.
Log::Dispatch
This module manages a set of Log::Dispatch::* output objects that can be logged to via a unified interface.
Log::Log4perl
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 Development
CPAN::Uploader
Upload things to the CPAN
Data::Printer
Colored pretty-print of Perl data structures and objects
Devel::Confess
Include stack traces on all warnings and errors
Devel::Dwarn
Combine warns and Data::Dumper::Concise
Devel::NYTProf
Powerful feature-rich perl source code profiler
Dist::Zilla
Builds distributions of code to be uploaded to the CPAN.
Modern::Perl
enable all of the features of Modern Perl with one command
Module::Build::Tiny
A simple, lightweight, drop-in replacement for ExtUtils::MakeMaker or Module::Build
Perl::Critic
Critique Perl source code for best-practices.
Perl::Tidy
Parses and beautifies perl source
Perl::Version
Parse and manipulate Perl version strings
Pod::Readme
Convert POD to README file
Software::License
Packages that provide templated software licenses
Task::Kensho::OOP: Object Oriented Programming
Moo
Minimalist Object Orientation (with Moose compatibility)
Moose
a postmodern object system for Perl5
MooseX::Aliases
easy aliasing of methods and attributes in Moose
MooseX::Getopt
a Moose role for processing command line options
MooseX::NonMoose
easy subclassing of non-Moose classes
MooseX::Role::Parameterized
Moose roles with composition parameters
MooseX::SimpleConfig
a Moose role for setting attributes from a simple configuration file
MooseX::StrictConstructor
a Moose extension that makes your object constructors blow up on unknown attributes
Package::Variant
Parameterizable packages
Task::Moose
Task::Moose installs Moose and optionally a list of recommended modules that extend Moose.
Type::Tiny
tiny, yet Moo(se)-compatible type constraints
namespace::autoclean
keep imports out of your namespace (Moose-aware)
Task::Kensho::Scalability: Scalability
CHI
A unified cache interface, like DBI
Redis
Perl binding for Redis database
Task::Kensho::Testing: Testing
Devel::Cover
Code coverage metrics for Perl
Test::Deep
Test deep data structures
Test::Fatal
Test exception-based code
Test::Memory::Cycle
Check for memory leaks and circular memory references
Test::Pod
Check for POD errors in files
Test::Pod::Coverage
Check for pod coverage in your distribution.
Test::Requires
Make running a test conditional on a particular module being installed
Test::Simple
Basic utilities for writing tests.
Test::Warnings
Test for warnings and the lack of them
Task::Kensho::Toolchain: Basic Toolchain
App::FatPacker
Pack your dependencies onto your script file
App::cpanminus
Get, unpack, build and install modules from CPAN
App::perlbrew
Manage perl installations in your $HOME
CPAN::Mini
Create a minimal mirror of CPAN
Carton
Perl module dependency manager (aka Bundler for Perl)
Pinto
Curate a repository of Perl modules
local::lib
Create and use a local lib/ for perl modules with PERL5LIB
version
Perl extension for Version Objects
Task::Kensho::WebCrawling: Web Crawling
HTTP::Thin
A Thin Wrapper around HTTP::Tiny to play nice with HTTP::Message
HTTP::Tiny
Lightweight HTTP client implementation
LWP::Simple
Simple procedural interface to LWP
LWP::UserAgent
Full-featured Web client library for Perl
WWW::Mechanize
Handy web browsing in a Perl object
WWW::Mechanize::TreeBuilder
This module combines WWW::Mechanize and HTML::TreeBuilder.
WWW::Selenium
Perl Client for the Selenium Remote Control test tool
Task::Kensho::WebDev: Web Development
CGI::FormBuilder::Source::Perl
Build CGI::FormBuilder configs from Perl syntax files.
Dancer2
the new generation of Dancer, a lightweight yet powerful web application framework
HTML::FormHandler
HTML forms using Moose
MIME::Types
Definition of MIME types
Mojolicious
Real-time web framework
Plack
Flexible superglue between Web Servers and Perl Web Frameworks or code.
Task::Catalyst
Catalyst is The Elegant MVC Web Application Framework. Task::Catalyst is all you need to start with Catalyst.
Template
(Template::Toolkit) Template Processing System
XML::Atom
Atom feed and API implementation
XML::RSS
Creates and updates RSS files
Task::Kensho::XML: XML Development
RDF::Trine
An RDF Framework for Perl
XML::Generator::PerlData
Perl extension for generating SAX2 events from nested Perl data structures.
XML::LibXML
Perl Binding for libxml2
XML::LibXSLT
Interface to the gnome libxslt library
XML::SAX
Simple/Streaming API for XML
XML::SAX::Writer
Output XML from SAX2 Events
INSTALLING
Since version 0.34, Task::Kensho has made use of the optional_features field in distribution metadata. This allows CPAN clients to interact with you regarding which modules you wish to install.
The cpanm client requires interactive mode to be enabled for this to work:
cpanm --interactive Task::Kensho
LIMITATIONS
This 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.
SEE ALSO
http://www.enlightenedperl.org/, Perl::Dist::Strawberry
SUPPORT
bugs 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.
AUTHOR
Chris Prather <[email protected]>
CONTRIBUTORS
Karen Etheridge <[email protected]>
Chris Nehren <[email protected]>
Leo Lapworth <[email protected]>
Florian Ragwitz <[email protected]>
Andrew Whatson <[email protected]>
Rick Leir <[email protected]>
COPYRIGHT AND LICENCE
This 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.