Task::Kensho - A Glimpse at an Enlightened Perl
# apt-get install libtask-kensho-all-perl
Task::Kensho is a list of recommended, widely used and
best-in-class 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.
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]
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.
- Future
- represent an operation awaiting completion
- IO::Async
- Asynchronous event-driven programming
- MCE
- Many-Core Engine for Perl providing parallel processing capabilities
- Mojo::IOLoop
- Minimalistic event loop
- POE
- Multitasking and networking framework for Perl
- Parallel::ForkManager
- A simple parallel processing fork manager
- Syntax::Keyword::Try
- try/catch/finally with full syntax support for control statements
- Try::Tiny
- Lightweight exception handling that handles the vagaries of $@.
- autodie
- Make builtins and other functions die instead of returning undef on
failure.
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.
- Comments that do more than just sit there
- Term::ProgressBar::Simple
- Simple progress bars
- ojo
- Fun one-liners with Mojo
- Log::Any
- Bringing loggers and listeners together.
- 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.
- CHI
- A unified cache interface, like DBI
- Redis
- Perl binding for Redis database
- App::FatPacker
- Pack your dependencies onto your script file
- App::cpanminus
- Get, unpack, build and install modules from CPAN
- App::cpm
- a fast CPAN module installer
- 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
- Attean
- A Semantic Web Framework
- 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
- HTTP::BrowserDetect
- Determine Web browser, version, and platform from an HTTP user agent
string
- 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
- Web::Simple
- A quick and easy way to build simple web applications
- XML::Atom
- Atom feed and API implementation
- Creates and updates RSS files
To 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
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.
<http://www.enlightenedperl.org/>,
Perl::Dist::Strawberry
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"
<irc://irc.perl.org/#epo>.
Chris Prather <chris@prather.org>
- Karen Etheridge <ether@cpan.org>
- Chris Nehren <apeiron@cpan.org>
- Leo Lapworth <leo@cuckoo.org>
- Dan Book <grinnz@grinnz.com>
- Dan Book <grinnz@gmail.com>
- Mohammad S Anwar <mohammad.anwar@yahoo.com>
- Olaf Alders <olaf@wundersolutions.com>
- Rachel Kelly <rkellyalso@gmail.com>
- Shawn Sorichetti <shawn@coloredblocks.com>
- Andrew Whatson <whatson@gmail.com>
- Florian Ragwitz <rafl@debian.org>
- Rick Leir <rleir@leirtech.com>
- Tina Müller <cpan2@tinita.de>
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.