Task::Kensho(3pm)

πŸ“¦
version 0.41 Β· 3 versions
, in ubuntu noble, ubuntu resolute, ubuntu stonking

πŸŽ€ 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 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. πŸ§πŸ’€

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.

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, periodt
  • IO::Async β€” asynchronous event-driven programming, no cap
  • 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

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 πŸ“…

  • DateTime β€” A date and time object
  • Time::Moment β€” A fast immutable object representing a date and time
  • Time::ParseDate β€” Date parsing both relative and absolute
  • Time::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 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 πŸ“Š

  • Excel::Writer::XLSX β€” Create spreadsheets in the XLSX format
  • Spreadsheet::Read β€” Read the data from a spreadsheet
  • Spreadsheet::WriteExcel::Simple β€” Create XLS 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 πŸ› οΈ

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 there
  • Term::ProgressBar::Simple β€” Simple progress bars
  • ojo β€” 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 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
  • Test2::Suite β€” Distribution with a rich set of tools built upon the Test2 framework.
  • 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
  • Mojo::UserAgent β€” Non-blocking I/O HTTP and WebSocket user agent
  • 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
  • Web::Simple β€” A quick and easy way to build simple web applications
  • 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

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 πŸ’…βœ¨


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