24 days of Perl code from RJBS! Feed

One Last Present, All Boxed Up

Task::BeLike::RJBS - 2009-12-26

It's Boxing Day!

Boxing day, the day after Christmas, is so called because it is the time of year when you take all the gifts you received and liked and put them in a box to keep. The rest you give to someone who couldn't be bothered to show up for Christmas with the rest of the family. It is also known as St. Stephen's day, in honor of my brother.

Perl! Perl is in the box!

I maintain a box of my favorite presents from the CPAN. Some of them are my own donations, already mentioned this month. Plenty of them were shared with the CPAN by other contributors. This box is Task::BeLike::RJBS. It's a Task distribution, which means that it doesn't actually do anything on its own. It's just a pile of prerequisites. Instead of installing each one, you can install the task and the rest are installed for you.

When I set up a new workstation, the first thing I do is compile my own recent perl to avoid any weird vendor packaging issues. The next thing I do is install Task::BeLike::RJBS. Whether or not you want to be like me, I'm stuck with it, so I try to do it as efficiently as possible.

If you're interested in the modules that I consider essential to getting work done, check out the task and its contents.

Building Your Own Box

Task::BeLike::RJBS is built with Dist::Zilla -- specifically with Dist::Zilla::Plugin::TaskWeaver, a plugin for building tasks. To use TaskWeaver, you just write a module with some Pod like this:


1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 

 

=pkgroup Simple Modules (Wednesdays)

=pkg Number::Nary 0.108 has robust unique-decodability detection

=pkg Data::Section

=pkg String::RewritePrefix 0.005 provides "rewrite" export

=pkg Sort::ByExample

 

You'll get output Pod like this:


1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 

 

=head1 TASK CONTENTS

=head2 Simple Modules (Wednesdays)

=head3 Number::Nary 0.108

Version 1.08 is required because: has robust unique-decodability detection

=head3 Data Section

=head3 String::RewritePrefix 0.005

Version 0.005 is required because: provides "rewrite" export

=head3 Sort::ByExample

 

You'll also get all those packages, with the versions given (if any) listed as prerequisites, so installing your task will get all those prerequisites as well.

Have fun, make some bundles, share, and enjoy.

See Also