The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Task::BeLike::GETTY - be like GETTY (without the insanity hopefully) -- use what drives his gears

VERSION

version 20130420.000

TASK CONTENTS

Perl itself

perl 5.010001

You should have at least 5.10.1

Useful Command-Line Tools

App::Ack 2.00

Because grep is outdated

Working with CPAN distributions

App::cpanminus 1.5018

Because I dont want useless crap on my screen.

App::CPAN::Fresh 0.10

Installs latest version of the dist... for the people who cant wait to get their own release on other machines ;)

Object orientated working

Moo 1.000003

Cause it cost nothing and makes the code nice.

MooX 0.101

An easier way to load Moo and MooX plugins for it.

Moose 2.0604

The ultimate power in the universe to make classes

MooseX::NonMoose

Sometimes something else wanna be a Moose!

Application Frameworks

MooX::HasEnv

Depend attributes on environment variables in Moo.

MooX::Cmd 0.002

MooX::Cmd together with MooX::Options gives you the ability to make easy multicommand application.

MooX::Options 3.71

MooseX::Getopt

If you use Moose, then you should go this way for making options possible in your application.

String::ProgressBar

Make nice progress bars in your application.

Event driven, non-blocking environment

Reflex 0.098

Because POE is really outdated (and too complex)

Reflexive::Client::HTTP 0.003

Never saw a non-blocking environment which not used some HTTP client somewhere in the process hehe :).

Database

DBIx::Class 0.08200

There is no other way to access a database

DBIx::Class::Candy 0.002101

Use this to define your DBIx::Class result classes.

DBIx::Class::AlwaysUpdate

DBIx::Class::TimeStamp

DBIx::Class::EncodedColumn 0.00011

DBIx::Class::InflateColumn::DateTime

DBIx::Class::InflateColumn::Serializer 0.03

Very useful in combination with JSON to get a simple random data storage field.

DBIx::Class::EncodedColumn::Crypt::Eksblowfish::Bcrypt

Best way to get a transparent (one way) encrypted field, like password.

Templating

Template 2.22

A very good easy to understand templating system. Its widly used and just be prefered if speed is no relevance.

Template::Provider::Encoding

You will need this for utf8.

Text::Xslate 1.5018

The fastest template engine, but needs a bit more understandment, but can be used with many template syntaxes (more or less identical of course).

Web frameworks

FCGI 0.74

Don't do CGI... please.... its dead.

Catalyst::Runtime 5.90016

For serious web application development

Catalyst::Plugin::AutoCRUD 2.122460

Giving an "auto of the box" SQL datamanager via a DBIx::Class managed sql source. Very cool.

Catalyst::Plugin::ChainedURI 0.002

A more simple way to get a specific url in Catalyst then with the given tools inside of Catalyst.

Catalyst::Plugin::CustomErrorMessage

An error should be nice.

Catalyst::Plugin::Session

Catalyst::Plugin::Session::State::Cookie

Catalyst::Plugin::Session::Store::File

Catalyst::Plugin::Unicode::Encoding

Never forget to load this. You want utf8.

Catalyst::Authentication::Store::DBIx::Class

Catalyst::Plugin::Authentication

Catalyst::Plugin::Captcha

Catalyst::Plugin::StackTrace

Make a crash more useful, show a stack trace.

Catalyst::View::TT

Catalyst::View::JSON

Catalyst::View::Email::Template

Web::Simple 0.020

For the simple stuff

Plack 1.0004

The base for all those frameworks, and the best way to make your own base for a webframework, even tho, you normally should be happy with Web::Simple and Catalyst, but it gives interesting background knowledge to know Plack and PSGI. See http://plackperl.org/.

Plack::Middleware::Debug

The so far best debugging console from the author of Plack directly.

Validation

Email::Valid 0.185

Best thing so far to check for a valid email.

Translation

Locale::Simple 0.002

A simple way to integrate gettext translations into Javascript and Perl with the same API. It has anything included you need, you just need to have the gettext tools installed. You can check for a tool msgfmt that is inside there, if you are unsure, if you installed the proper gettext package of your distribution.

Tools for authoring CPAN Distributions

Dist::Zilla 4

Dist::Zilla::PluginBundle::GETTY 0.003

This pluginbundle gives you directly all Dist::Zilla plugins I use. Its a package that tries to be very efficient. Many people dislike that it generates the changes out of the git log. It is btw also used to generate this Task.

File::ShareDir::ProjectDistDir 0.3.2

Essential for working sane with the share directory of a distribution in development context.

Testing

Test::More

Simple, straightforward, thats what you need.

Test::LoadAllModules

Easy way to have a test for checking that all modules compile at least.

Test::Dirs

For comparing resulting directories.

File::Temp

For getting temporary directories. Very handy for tests.

Making your own DarkPAN / GreyPAN

CPAN::Repository 0.007

Dist::Data 0.003

Module::Data 0.006

Path::ScanINC 0.002

Other Libraries I Use

Data::Printer 0.33

Nicest debugging output ever.

DateTime 0.77

Version 0.77 required because: provides CLDR support with fewest known bugs

Working with timestamps is just wrong.

DateTime::Format::Epoch 0.13

As reference to remind that you can find YOUR specific DateTime string definition out of the many https://metacpan.org/search?q=DateTime%3A%3AFormat%3A%3A.

DateTime::Format::Strptime 1.52

A very flexible format handler, if you really cant find what you need.

DateTime::Format::Human::Duration 0.60

A good way to display a time duration to humans.

JSON 2.53

The most effective data storage way ...

JSON::XS 2.33

... and make it quick!

YAML 0.84

If you want the data in the worst case created or modified by humans, then this is the way to go.

Path::Class 0.26

The most simple way to work with path and file names. Highly recommended.

IO::All 0.46

The best sugar to access files and their data.

Config::INI 0.019

I like INI files.... dont hate me.

Devel::NYTProf

The most heavy overall debugging possible. Try it out once, to know what you have.

Scalar::Util 1.18

Nice toolset, check it out and get it known.

Text::Markdown 1.0.24

Version 1.0.24 required because: has trust_list_start

For making nice GitHub README and wiki pages.

HTTP::Message

You will need HTTP::Request and HTTP::Response. Use it with LWP::UserAgent or Reflexive::Client::HTTP.

LWP::UserAgent

A simple way to make a blocking HTTP request based on HTTP::Request.

URL::Encode

URL encoding

URI

Handling URLs itself, making parameter and so on. Very useful, still dislike the API somehow.

Sanity-Check

These are just here to make sure other things work properly.

Mozilla::CA

Crypt::SSLeay

LWP::Protocol::https

IO::Socket::SSL

AUTHOR

Torsten Raudssus <torsten@raudss.us>

COPYRIGHT AND LICENSE

This software is copyright (c) 2012 by Torsten Raudssus.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

1 POD Error

The following errors were encountered while parsing the POD:

Around line 283:

alternative text 'https://metacpan.org/search?q=DateTime%3A%3AFormat%3A%3A' contains non-escaped | or /