Provided by: libtask-kensho-perl_0.40-3_all
Task::Kensho - A Glimpse at an Enlightened Perl
# apt-get install libtask-kensho-all-perl
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" 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 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 Module::CoreList What modules shipped with versions of perl Reply reply - read, eval, print, loop, yay! 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::Moment A fast immutable object representing a date and time 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::Stuffer A more casual approach to creating and sending Email:: emails 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 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. 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 Code::TidyAll Engine for tidyall, your all-in-one code tidier and validator 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 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 (see also Task::Moose for a larger list of Moose extensions) 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 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::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 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 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 XML::Atom Atom feed and API implementation XML::RSS Creates and updates RSS files Task::Kensho::XML: XML Development 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
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.
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 <firstname.lastname@example.org>
· Karen Etheridge <email@example.com> · Chris Nehren <firstname.lastname@example.org> · Leo Lapworth <email@example.com> · Dan Book <firstname.lastname@example.org> · Olaf Alders <email@example.com> · Shawn Sorichetti <firstname.lastname@example.org> · Rachel Kelly <email@example.com> · Andrew Whatson <firstname.lastname@example.org> · Rick Leir <email@example.com> · Florian Ragwitz <firstname.lastname@example.org>
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.