Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery

comment on

( #3333=superdoc: print w/replies, xml ) Need Help??
Aside from overcomplexity, another problem with the book is that it presents Perl as "one-dimensional" language.

This is a bizarre comment, to my mind. The "Expressivity" section of the first chapter explains that Perl is designed to be used in the same sort of fashion that you laid out here.

I think your division of "multidimensional Perl" is misguided too. For example:

Basic Perl 5 -- Perl 5 with modules and references, but without fancy staff (like closures, OO, exceptions). This probably the mostly widely used subset.

... and:

Many organizations prohibit installation of SPAN modules for security reasons. In such cases you need to deal with modules included in the distribution, or jump through the hoops to get permission for "non-core" modules. Also quality of modules on CPAN varies greatly, many are unmaintained for years. Blank recommendation to use CPAN is a dangerous proposition.

If I would have taken this advice when I wrote this book, I wouldn't have covered something like DBI for two reasons:

  • It's a CPAN module
  • It has an OO interface

Similarly, eliding mention of closures would mean there's no good way to explain grep, sort, or map or even lexical scope, which would also be an untenable position for a book attempting to explain how the language works.

If you want a book that ignores the existence of the CPAN and elides lexical variables and won't teach you how to use a CSV module or DBI or anything that uses dynamic dispatch -- itself a 23 year old feature in Perl -- then this isn't the book for you.

Instead, I wanted to write a book that explained the design of the language so that people could use it effectively, taking full advantage of the CPAN, and knowing enough that the copious documentation makes sense without needing a couple of semesters of computer science. After all, once you understand how to look things up in perldoc and what perlfunc means by "lvalue" or "circumfix" or "arity", there's no value in me recapitulating the explanation of index or tr.

In reply to Re: Modern Perl 4th Edition by chromatic
in thread Modern Perl 4th Edition by likbez

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or or How to display code and escape characters are good places to start.
Log In?

What's my password?
Create A New User
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (7)
As of 2021-06-14 13:13 GMT
Find Nodes?
    Voting Booth?
    What does the "s" stand for in "perls"? (Whence perls)

    Results (62 votes). Check out past polls.