Skip to content

My suggestions for the book #2

@hoelzro

Description

@hoelzro

Alberto-

Thanks for going to the trouble of writing this book! I think a lot of people in the Perl community, both newbies and veterans, will find it remarkably useful.

I've gone over what you have so far, and I have a list of suggestions. Some of them are based on my opinion, so feel free to use whichever ones you want, since it's your book!

Introduction

  • You should mention beta.metacpan.org in the section with AnnoCPAN and such. It's a new way to search the CPAN.
  • cpanm uses the CPAN MetaDB to discover module information, not the MetaCPAN. (The meta prefix gets thrown around too much!)

OO

  • I feel like you should mention Moose first, as Moo and Mouse are modeled after it, and not the other way around.
  • I think that instead of mentioning how Mouse and Moose include a meta model, Moo lacks one.
  • You should probably mention the MooseX:: and MouseX:: namespaces that contain Moose and Mouse extensions, respectively. Maybe you should also cover some of the more popular extensions?

Web

  • I think you should mention PSGI/Plack. All of the frameworks you currently mention support it, and it's the direction in which Perl web development is moving.
  • You might want to mention the CGI module, just for historical purposes.

Markup

  • JSON and YAML aren't markup; they're more like data formats. They definitely deserve a mention in this book, though.

Testing

  • You should mention Test::Exception; it makes testing code that leverages exceptions very easy.
  • You should also mention Test::Class; it's a Perl-style way of writing xUnit tests.

More Modules/Chapters

I know you're probably just getting started, but I wanted to mention some other useful modules sooner rather than later:

Event Loops

  • AnyEvent
  • POE

Command Line Tools

  • App::Ack
  • App::pmuninstall
  • App::cpanoutdated
  • pmtools

Module Authoring Tools

  • Dist::Zilla
  • shipit
  • ExtUtils::MakeMaker
  • Module::Build
  • Module::Install

Deployment Tools

  • App::FatPacker
  • carton
  • Shipwright

OS Specific Modules

  • Win32::*
  • Mac::*

Miscellaneous

  • Try::Tiny
  • Data::Dumper
  • Devel::REPL

Thanks again!
-Rob

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions