1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606
|
use strict;
use warnings;
package Task::Kensho; # git description: v0.38-64-g63bc74d
# ABSTRACT: A Glimpse at an Enlightened Perl
# KEYWORDS: EPO enlightened recommendations curated
our $VERSION = '0.39';
__END__
=pod
=encoding UTF-8
=head1 NAME
Task::Kensho - A Glimpse at an Enlightened Perl
=head1 VERSION
version 0.39
=head1 SYNOPSIS
# apt-get install libtask-kensho-all-perl
=head1 DESCRIPTION
=for stopwords Buddhism EPO Kenshō nonduality amongst Organisation installable
From L<http://en.wikipedia.org/wiki/Kensho>:
=over 4
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]
=back
L<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 L<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 L<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 I<not> follow the guidelines established for the EPO-EC
for peer review via industry advisers.
Starting in 2011, L<Task::Kensho> split its sub-groups of modules into
individually-installable tasks. Each L<Task::Kensho> sub-task is listed at the
beginning of its section in this documentation.
When installing L<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.
=head1 RECOMMENDED MODULES
=for stopwords Async
=head2 L<Task::Kensho::Async>: Async Programming
=head3 L<IO::Async>
Asynchronous event-driven programming
=head3 L<POE>
Multitasking and networking framework for Perl
=for stopwords pastebin
=head2 L<Task::Kensho::CLI>: Useful Command-line Tools
=head3 L<App::Ack>
A grep-like text finder
=head3 L<App::Nopaste>
Easy access to any pastebin
=head3 L<Devel::REPL>
a modern perl interactive shell
=head3 L<Module::CoreList>
What modules shipped with versions of perl
=head2 L<Task::Kensho::Config>: Config Modules
=head3 L<Config::Any>
Load configuration from different file formats, transparently
=head3 L<Config::General>
Generic Config Module
=head3 L<JSON::MaybeXS>
wrapper around the most current and fast JSON backends
=head2 L<Task::Kensho::DBDev>: Database Development
=head3 L<DBD::SQLite>
Self Contained RDBMS in a DBI Driver
=head3 L<DBI>
Database independent interface for Perl
=head3 L<DBIx::Class>
Extensible and flexible object <-> relational mapper.
=head3 L<DBIx::Class::Schema::Loader>
Dynamic definition of a DBIx::Class::Schema
=head3 L<SQL::Translator>
Manipulate structured data definitions (SQL and more)
=head2 L<Task::Kensho::Dates>: Date Modules
=head3 L<Date::Tiny>
A date object with as little code as possible
=head3 L<DateTime>
A date and time object
=head3 L<DateTime::Tiny>
A date time object with as little code as possible
=head3 L<Time::ParseDate>
Date parsing both relative and absolute
=head3 L<Time::Tiny>
A time object with as little code as possible
=head2 L<Task::Kensho::Email>: Email
=head3 L<Email::MIME::Kit>
The Swiss army chainsaw of assembling email messages
=head3 L<Email::Sender>
A library for sending email
=head3 L<Email::Simple>
A B<simple> email object. No, really!
=head3 L<Email::Valid>
Check validity of Internet email addresses
=for stopwords CSV
=head2 L<Task::Kensho::ExcelCSV>: Excel/CSV
=head3 L<Spreadsheet::ParseExcel::Simple>
A simple interface to Excel data
=head3 L<Spreadsheet::WriteExcel::Simple>
Create Excel documents easily
=head3 L<Text::CSV_XS>
Manipulate comma-separated values (CSV)
=head2 L<Task::Kensho::Exceptions>: Exception Handling
=head3 L<Try::Tiny>
Lightweight exception handling that handles the vagaries of $@.
=head3 L<autodie>
Make builtins and other functions die instead of returning undef on failure.
=for stopwords whippitupitude Hackery
=head2 L<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.
=head3 L<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.
=head3 L<Smart::Comments>
Comments that do more than just sit there
=head3 L<Term::ProgressBar::Simple>
Simple progress bars
=head2 L<Task::Kensho::Logging>: Logging
=head3 L<Log::Contextual>
Log::Contextual is a simple interface to extensible logging. It is bundled with a really basic logger, Log::Contextual::SimpleLogger.
=head3 L<Log::Dispatch>
This module manages a set of Log::Dispatch::* output objects that can be logged to via a unified interface.
=head3 L<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.
=for stopwords profiler templated
=head2 L<Task::Kensho::ModuleDev>: Module Development
=head3 L<CPAN::Uploader>
Upload things to the CPAN
=head3 L<Data::Printer>
Colored pretty-print of Perl data structures and objects
=head3 L<Devel::Confess>
Include stack traces on all warnings and errors
=head3 L<Devel::Dwarn>
Combine warns and Data::Dumper::Concise
=head3 L<Devel::NYTProf>
Powerful feature-rich perl source code profiler
=head3 L<Dist::Zilla>
Builds distributions of code to be uploaded to the CPAN.
=head3 L<Modern::Perl>
enable all of the features of Modern Perl with one command
=head3 L<Module::Build::Tiny>
A simple, lightweight, drop-in replacement for ExtUtils::MakeMaker or Module::Build
=head3 L<Perl::Critic>
Critique Perl source code for best-practices.
=head3 L<Perl::Tidy>
Parses and beautifies perl source
=head3 L<Perl::Version>
Parse and manipulate Perl version strings
=head3 L<Pod::Readme>
Convert POD to README file
=head3 L<Software::License>
Packages that provide templated software licenses
=head2 L<Task::Kensho::OOP>: Object Oriented Programming
=head3 L<Moo>
Minimalist Object Orientation (with Moose compatibility)
=head3 L<Moose>
a postmodern object system for Perl5
=head3 L<MooseX::Aliases>
easy aliasing of methods and attributes in Moose
=head3 L<MooseX::Getopt>
a Moose role for processing command line options
=head3 L<MooseX::NonMoose>
easy subclassing of non-Moose classes
=head3 L<MooseX::Role::Parameterized>
Moose roles with composition parameters
=head3 L<MooseX::SimpleConfig>
a Moose role for setting attributes from a simple configuration file
=head3 L<MooseX::StrictConstructor>
a Moose extension that makes your object constructors blow up on unknown attributes
=head3 L<Package::Variant>
Parameterizable packages
=head3 L<Task::Moose>
Task::Moose installs Moose and optionally a list of recommended modules that extend Moose.
=head3 L<Type::Tiny>
tiny, yet Moo(se)-compatible type constraints
=head3 L<namespace::autoclean>
keep imports out of your namespace (Moose-aware)
=for stopwords Redis
=head2 L<Task::Kensho::Scalability>: Scalability
=head3 L<CHI>
A unified cache interface, like DBI
=head3 L<Redis>
Perl binding for Redis database
=head2 L<Task::Kensho::Testing>: Testing
=head3 L<Devel::Cover>
Code coverage metrics for Perl
=head3 L<Test::Deep>
Test deep data structures
=head3 L<Test::Fatal>
Test exception-based code
=head3 L<Test::Memory::Cycle>
Check for memory leaks and circular memory references
=head3 L<Test::Pod>
Check for POD errors in files
=head3 L<Test::Pod::Coverage>
Check for pod coverage in your distribution.
=head3 L<Test::Requires>
Make running a test conditional on a particular module being installed
=head3 L<Test::Simple>
Basic utilities for writing tests.
=head3 L<Test::Warnings>
Test for warnings and the lack of them
=for stopwords Bundler
=head2 L<Task::Kensho::Toolchain>: Basic Toolchain
=head3 L<App::FatPacker>
Pack your dependencies onto your script file
=head3 L<App::cpanminus>
Get, unpack, build and install modules from CPAN
=head3 L<App::perlbrew>
Manage perl installations in your $HOME
=head3 L<CPAN::Mini>
Create a minimal mirror of CPAN
=head3 L<Carton>
Perl module dependency manager (aka Bundler for Perl)
=head3 L<Pinto>
Curate a repository of Perl modules
=head3 L<local::lib>
Create and use a local lib/ for perl modules with PERL5LIB
=head3 L<version>
Perl extension for Version Objects
=head2 L<Task::Kensho::WebCrawling>: Web Crawling
=head3 L<HTTP::Thin>
A Thin Wrapper around HTTP::Tiny to play nice with HTTP::Message
=head3 L<HTTP::Tiny>
Lightweight HTTP client implementation
=head3 L<LWP::Simple>
Simple procedural interface to LWP
=head3 L<LWP::UserAgent>
Full-featured Web client library for Perl
=head3 L<WWW::Mechanize>
Handy web browsing in a Perl object
=head3 L<WWW::Mechanize::TreeBuilder>
This module combines WWW::Mechanize and HTML::TreeBuilder.
=head3 L<WWW::Selenium>
Perl Client for the Selenium Remote Control test tool
=for stopwords configs RSS
=head2 L<Task::Kensho::WebDev>: Web Development
=head3 L<CGI::FormBuilder::Source::Perl>
Build CGI::FormBuilder configs from Perl syntax files.
=head3 L<Dancer2>
the new generation of Dancer, a lightweight yet powerful web application framework
=head3 L<HTML::FormHandler>
HTML forms using Moose
=head3 L<MIME::Types>
Definition of MIME types
=head3 L<Mojolicious>
Real-time web framework
=head3 L<Plack>
Flexible superglue between Web Servers and Perl Web Frameworks or code.
=head3 L<Task::Catalyst>
Catalyst is The Elegant MVC Web Application Framework. Task::Catalyst is all you need to start with Catalyst.
=head3 L<Template>
(Template::Toolkit) Template Processing System
=head3 L<XML::Atom>
Atom feed and API implementation
=head3 L<XML::RSS>
Creates and updates RSS files
=for stopwords libxml libxml2 libxslt RDF
=head2 L<Task::Kensho::XML>: XML Development
=head3 L<RDF::Trine>
An RDF Framework for Perl
=head3 L<XML::Generator::PerlData>
Perl extension for generating SAX2 events from nested Perl data structures.
=head3 L<XML::LibXML>
Perl Binding for libxml2
=head3 L<XML::LibXSLT>
Interface to the gnome libxslt library
=head3 L<XML::SAX>
Simple/Streaming API for XML
=head3 L<XML::SAX::Writer>
Output XML from SAX2 Events
=head1 INSTALLING
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
=head1 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.
=head1 SEE ALSO
L<http://www.enlightenedperl.org/>,
L<Perl::Dist::Strawberry|Perl::Dist::Strawberry>
=head1 SUPPORT
bugs may be submitted through L<https://github.com/EnlightenedPerlOrganisation/task-kensho/issues>.
There is also an irc channel available for users of this distribution, at
L<C<#epo> on C<irc.perl.org>|irc://irc.perl.org/#epo>.
=head1 AUTHOR
Chris Prather <chris@prather.org>
=head1 CONTRIBUTORS
=for stopwords Karen Etheridge Chris Nehren Leo Lapworth Florian Ragwitz Andrew Whatson Rick Leir
=over 4
=item *
Karen Etheridge <ether@cpan.org>
=item *
Chris Nehren <apeiron@cpan.org>
=item *
Leo Lapworth <leo@cuckoo.org>
=item *
Florian Ragwitz <rafl@debian.org>
=item *
Andrew Whatson <whatson@gmail.com>
=item *
Rick Leir <rleir@leirtech.com>
=back
=head1 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.
=cut
|