Task::Kensho(3pm)
π NAME π
Task::Kensho β A Glimpse at an Enlightened Perl β¨
okay so like, heads up bestie: this is Task::Kensho(3pm) from the User Contributed Perl Documentation, and it's literally your girl's curated vibe-check of what Perl modules are actually worth your time π
π VERSION π
version 0.41</p>
πΈ SYNOPSIS πΈ
# apt-get install libtask-kensho-all-perl
not me just handing you the one-liner, no gatekeeping here π«Ά
π¦ DESCRIPTION π¦
So Task::Kensho is a list of recommended, widely used and best-in-class modules for Enlightened Perl development. and likeβ¦ CPAN is wonderful, okay, nobody's saying it isn't π but there are too many wheels and you end up having to pick and choose amongst the various competing technologies. it's giving β¨decision paralysisβ¨ fr fr.
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]
like the name alone? main character energy π seeing your true self?? that's the whole brand, that's the vibe check, we passed it π§
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 β and this part matters, bestie β this bundle does not follow the guidelines established for the EPO-EC for peer review via industry advisers. noted! π
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 π so like, go scroll, they're all labeled, iykyk.
When installingTask::Kenshoin 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 thelibtask-kensho-all-perlmetapackage. These metapackages facilitate the ease and simplicity the distribution aims to achieve whilst utilising the power of the Debian GNU/Linux package system. π§π
so short version: pick your fighter one at a time, or just take the whole bundle and let Debian do the heavy lifting for you π«‘ iconic behaviour honestly.
RECOMMENDED MODULES β¨π
okay bestie, this is the main character list. Like, the modules Task::Kensho thinks you should know. Each task is its own vibe. Let's go.
Task::Kensho::Async: Async Programming π¦
Futureβ represents an operation that's waiting to complete, periodtIO::Asyncβ asynchronous event-driven programming, no capMCEβ Many-Core Engine for Perl providing parallel processing capabilitiesMojo::IOLoopβ minimalistic event loopPOEβ multitasking and networking framework for PerlParallel::ForkManagerβ a simple parallel processing fork manager
Task::Kensho::CLI: Useful Command-line Tools π
App::Ackβ a grep-like text finderApp::Nopasteβ easy access to any pastebinModule::CoreListβ what modules shipped with versions of perlReplyβ reply - read, eval, print, loop, yay! π
Task::Kensho::Config: Config Modules πΈ
Config::Anyβ load configuration from different file formats, transparentlyConfig::Generalβ generic config moduleJSON::MaybeXSβ wrapper around the most current and fast JSON backends
Task::Kensho::DBDev: Database Development ποΈ
DBD::SQLiteβ Self Contained RDBMS in a DBI DriverDBIβ Database independent interface for PerlDBIx::ClassβExtensible and flexible object <-> relational mapper.DBIx::Class::Schema::Loaderβ Dynamic definition of a DBIx::Class::SchemaSQL::Translatorβ Manipulate structured data definitions (SQL and more)
Task::Kensho::Dates: Date Modules π
DateTimeβ A date and time objectTime::Momentβ A fast immutable object representing a date and timeTime::ParseDateβ Date parsing both relative and absoluteTime::Pieceβ A date and time object based on localtime or gmtime
Task::Kensho::Email: Email π
Email::MIME::Kitβ The Swiss army chainsaw of assembling email messagesEmail::Senderβ A library for sending emailEmail::Simpleβ A simple email object. No, really!Email::Stufferβ A more casual approach to creating and sending Email:: emailsEmail::Validβ Check validity of Internet email addresses
Task::Kensho::ExcelCSV: Excel/CSV π
Excel::Writer::XLSXβ Create spreadsheets in the XLSX formatSpreadsheet::Readβ Read the data from a spreadsheetSpreadsheet::WriteExcel::Simpleβ Create XLS documents easilyText::CSV_XSβ Manipulate comma-separated values (CSV)
Task::Kensho::Exceptions: Exception Handling π₯
Syntax::Keyword::Tryβ try/catch/finally with full syntax support for control statementsTry::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 π οΈ
okay so 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 thereTerm::ProgressBar::Simpleβ Simple progress barsojoβ Fun one-liners with Mojo
Task::Kensho::Logging: Logging πͺ΅
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.
Task::Kensho::ModuleDev: Module Development π§°
CPAN::Uploaderβ Upload things to the CPANCode::TidyAllβ Engine for tidyall, your all-in-one code tidier and validatorData::Printerβ Colored pretty-print of Perl data structures and objectsDevel::Confessβ Include stack traces on all warnings and errorsDevel::Dwarnβ Combine warns and Data::Dumper::ConciseDevel::NYTProfβ Powerful feature-rich perl source code profilerDist::Zillaβ Builds distributions of code to be uploaded to the CPAN.Modern::Perlβ enable all of the features of Modern Perl with one commandModule::Build::Tinyβ A simple, lightweight, drop-in replacement for ExtUtils::MakeMaker or Module::BuildPerl::Criticβ Critique Perl source code for best-practices.Perl::Tidyβ Parses and beautifies perl sourcePod::Readmeβ Convert POD to README fileSoftware::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 MooseMooseX::Getoptβ a Moose role for processing command line optionsMooseX::NonMooseβ easy subclassing of non-Moose classesMooseX::Role::Parameterizedβ Moose roles with composition parametersMooseX::SimpleConfigβ a Moose role for setting attributes from a simple configuration fileMooseX::StrictConstructorβ a Moose extension that makes your object constructors blow up on unknown attributesPackage::Variantβ Parameterizable packagesType::Tinyβ tiny, yet Moo(se)-compatible type constraintsnamespace::autocleanβ keep imports out of your namespace (Moose-aware)
Task::Kensho::Scalability: Scalability π
CHIβ A unified cache interface, like DBIRedisβ Perl binding for Redis database
Task::Kensho::Testing: Testing π§ͺ
Devel::Coverβ Code coverage metrics for PerlTest2::Suiteβ Distribution with a rich set of tools built upon the Test2 framework.Test::Deepβ Test deep data structuresTest::Fatalβ Test exception-based codeTest::Memory::Cycleβ Check for memory leaks and circular memory referencesTest::Podβ Check for POD errors in filesTest::Pod::Coverageβ Check for pod coverage in your distribution.Test::Requiresβ Make running a test conditional on a particular module being installedTest::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 fileApp::cpanminusβ Get, unpack, build and install modules from CPANApp::cpmβ a fast CPAN module installerApp::perlbrewβ Manage perl installations in your $HOMECPAN::Miniβ Create a minimal mirror of CPANCartonβ Perl module dependency manager (aka Bundler for Perl)Pintoβ Curate a repository of Perl moduleslocal::libβ Create and use a local lib/ for perl modules with PERL5LIBversionβ Perl extension for Version Objects
Task::Kensho::WebCrawling: Web Crawling πΈοΈ
HTTP::Thinβ A Thin Wrapper around HTTP::Tiny to play nice with HTTP::MessageHTTP::Tinyβ Lightweight HTTP client implementationLWP::Simpleβ Simple procedural interface to LWPLWP::UserAgentβ Full-featured Web client library for PerlMojo::UserAgentβ Non-blocking I/O HTTP and WebSocket user agentWWW::Mechanizeβ Handy web browsing in a Perl objectWWW::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 FrameworkCGI::FormBuilder::Source::Perlβ Build CGI::FormBuilder configs from Perl syntax files.Dancer2β the new generation of Dancer, a lightweight yet powerful web application frameworkHTML::FormHandlerβ HTML forms using MooseHTTP::BrowserDetectβ Determine Web browser, version, and platform from an HTTP user agent stringMIME::Typesβ Definition of MIME typesMojoliciousβ Real-time web frameworkPlackβ 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 SystemWeb::Simpleβ A quick and easy way to build simple web applicationsXML::Atomβ Atom feed and API implementationXML::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 libxml2XML::LibXSLTβ Interface to the gnome libxslt libraryXML::SAXβ Simple/Streaming API for XMLXML::SAX::Writerβ Output XML from SAX2 Events
INSTALLING π¦
okay so if you're on Debian GNU/Linux and you want literally all the Task::Kensho tasks and their recommended modules, you install the libtask-kensho-all-perl metapackage:
# apt-get install libtask-kensho-all-perl
Each Kensho task is itself a metapackage. So if you just want one specific task, install the relevant metapackage. Like for Task::Kensho::Async:
# apt-get install libtask-kensho-async-perl
LIMITATIONS π«
bestie, this list is by no means comprehensive of the "Good" Modules on CPAN. Nor is it necessarily the correct path for all developers. Each of these modules has a perfectly acceptable replacement that may work better for you. But this is 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" <irc://irc.perl.org/#epo>.
AUTHOR π
Chris Prather <chris@prather.org>
π«Ά CONTRIBUTORS π«Ά
okay so this page literally would not exist without these absolute legends, and we're gonna give them every single ounce of credit they deserve, bestie. no cap. π
- 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>
not Dan Book showing up twice with two whole email addresses β main character energy fr fr, we love a queen who commits π β¨
π COPYRIGHT AND LICENCE π
no gatekeeping the legal tea, here's the whole thing:
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. πͺπ
and that's a wrap on the whole page, bestie!! π this little gem is from perl v5.36.0 and it was dated 2022-10-13, and the manpage calls itself Task::Kensho(3pm) β iconic, honestly. go forth and install your recommended modules, you're doing amazing sweetie π¦πβ¨
π¦ where this page comes from
- ubuntu noble: libtask-kensho-perl 0.41-2 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu resolute: libtask-kensho-perl 0.41-2 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu stonking: libtask-kensho-perl 0.41-2 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms