
Modern Perl 4th Edition is out, ebook version is free - ingve
https://pragprog.com/book/swperl/modern-perl-fourth-edition
======
pasbesoin
If you want to understand Perl, spend some time on two things: 1) The
ecosystem in which it developed and from which it borrows; 2) Larry's
understanding of and perspective with respect to natural languages and the way
they work.

Sometimes, Perl trades depth of knowledge for length and explicit minutia of
code. It can be confusing if you are not familiar with the dialect, but
terribly powerful if you are.

And behind the scenes, a lot of effort has been put into making DWIM (Do What
I Mean) not only intuitive but often quite good at implementing an optimized
solution (e.g. quite performant data representations).

P.S. Thank you, chromatic, for your continuing generosity and... I guess I
will call it "belief", in the Perl community I encountered 15 years ago.

P.P.S. I never was a Perl "expert", and I'm woefully out of touch, these days.
But the occasional bit I read leads me to believe that the above still
pertains. And I'm curious to learn about version 6, which while a long time
coming, really wanted to "take it to the next level". If and as it succeeds,
it should be very interesting indeed.

------
darkr
I remember reading an earlier version of this, about 4/5 years ago (maybe the
first edition?). It stuck in my mind as being fairly cleanly written, and also
as being the tipping point at which I started to grok OOP in perl (and Moose).

~~~
latj
Perl's greatest features (for me) have always been community and
documentation/literature. In the beginning I thought every technical community
was like Perl just because it was all I knew. I was quite surprised to find
out how poor documentation was elsewhere and how disconnected the users were.

I owe a lot to random Perl community people for helping pull me up (literally
since I was a child) to the point that I could get a job, then get better
jobs, and eventually choose my own work and support a family.

Its been years since Perl has been the main tool in my toolbox but there is
plenty in ~/bin and I plan to give Perl 6 another go. Still, I think of Perl
often and fondly.

Has anyone else ever had that "If I am ever wealthy I will help __some open
source community__"? More and more I realize life is passing by and being
wealthy isnt important to me at all. So I better just say thank you here. ;)

~~~
baudehlo
The problem I've found in newer communities is they are so disconnected now.

Perl had p5p to guide them, and various conferences and very close knit groups
which I was proud to be a part of.

I'm now more in the node.js crowd, which is huge, but feels like there's no
good guiding group. I'm a mod in #node.js but the traffic there isn't
communal. The node.js mailing list gets about 5 posts a day. I don't even know
where people go to ask/talk about Node any more. Is it stack overflow?
Somewhere else? Or do people just flail about not really knowing what they are
doing? Sadly it feels like the latter.

And yes, the documentation of perl modules still far surpasses anything I've
ever seen in other languages.

~~~
latj
Yes! Close your eyes and flail your arms around and eventually you will hit
something.

The way I use Stack Overflow makes me feel dirty. Usually it starts when I
Google an error message because I'm using a new (to me) combination of
language/framework/module/plugin. My mindbrain and fingers conspire to
automatically select the Stack Overflow link even though it might be 3rd
result and #1 and #2 might be from the official docs of whatever technology.

When I get to SO I read the answers first. That is often enough to shake
something loose in my brain about my own problem. If that doesnt help I'll
read the question to make sure I'm reading the right thread. I only comment or
answer on rare occasion because it means that 1. I ended up on an
inappropriate thread but actually know the answer and 2. it happens to be a
fresh unanswered question. Seriously, I hope some of you are using SO the way
they want it to be used and clicking on ADs or whatever. ;)

I used to answer questions in IRC channels just because I was already hanging
out there, knew some people, and hey- I got answers from this group I might as
well give back. But on SO I dont feel any attachment to a community, its just
about Internet points. And for those who arent keeping score its just get-in-
get-out. Maybe its just me.

------
mikevm
Is there a reason to learn Perl these days when we have Python?

~~~
chromatic
In my case, I find the Moose ecosystem much preferable to almost any other OO
system I've used. Better multidispatch would put Moose over the top.

The last time I looked at Python 3, Perl still had much better Unicode
support. In particular, grapheme support in regexes, built-in casefolding, and
easy normalization made a 100+ country project much easier.

The stability of the language, core libraries, and CPAN modules across major
releases really helps with maintenance. Python's 2/3 break was a bummer for a
lot of people for a long time that I'm glad to have (mostly) avoided.

~~~
s_kilk
What's your take on Perl6?

And do you plan to update the book to cover Perl6 some time in the future?

~~~
chromatic
I have no plans to use P6. It's probably years away from having the ecosystem
sufficient to support what I personally want.

I have no plans to update the book to cover P6; I think it does what it needs
to do as it is now.

~~~
systems
I'd bet Perl6 ecosystem will evolve very fast, I don't think you will need to
wait several years

~~~
edibleEnergy
Anything that evolves fast also will have stability issues. Part of the draw
of CPAN is the stability that comes from mature codebases.

------
s_kilk
This is a really great book.

------
justinator
Nice work, chromatic!

------
ausjke
Talking about perl, how does CPAN etc work with perl6, are those modules
mostly upgraded? or is it similar to the python2 vs python3 case?

~~~
lazyloop
Perl6 and Perl5 are two completely different languages, they have about as
much in common as Python and Ruby.

~~~
ab5tract
I think it would be closer to say "Perl 6 and Perl 5 are two completely
different languages, and have about as much in common as Ruby and Perl 5". All
the languages in that sentence are Perlish languages, so to me it conveys the
relationships better. Perl 6 definitely has a lot to do with Perl 5,
especially the mistakes therein. If anything, it's the most Perlish of them
all.

------
djent
The page says that there is no DRM on the ebook, yet every page of the PDF is
watermarked with the name you used to order. Sounds like managing digital
rights to me.

~~~
escap
You can copy it as many time as you want, read it concurrently on any device
that can read PDF, and you can use it offline. And if PragProg goes bust, you
can still read the book.

I agree that it might be a bit ugly to have your name on it repeated but it is
quite "discreet" nonetheless, and unless your name overlaps with a particular
perl keyword, it should not impact full text search.

~~~
userbinator
...and if it really bothers you, it's easily removed. You could probably do
that with Perl too.

~~~
knockonwood
It's not that easy to remove. To be completely sure all identification info
including IDs and other generated differences are removed you would need two
files sold to different people and remove everything that differs. I'm not
going to buy two copies of a book just to get the clean file that they should
be selling in the first place.

------
Flimm
Is the author named "chromatic"?

~~~
mahmud
Yes.

[https://en.wikipedia.org/wiki/Chromatic_%28programmer%29](https://en.wikipedia.org/wiki/Chromatic_%28programmer%29)

It's fairly common in hacker culture to use pseudonyms.

~~~
chromatic
That Wiki page is so outdated and misleading, I'm tempted to ask for it to be
deleted altogether.

~~~
mahmud
Or you can edit it yourself.

~~~
chromatic
The lyf so short, the craft so long to lerne, the Wikipedia Bureaucracy so
dull to navigate....

~~~
vram22
Ah, Chaucer. Appropriate, considering this is about Perl.

------
nambante
Why perl 5? Perl 6 will be released in a couple of weeks. In what sense perl 5
is better?

~~~
justinator
Perl 5 has an extremely mature, diverse, and vetted ecosystem, with 20+ years
of Perl 5 code out in the wild that people use, maintain, and continually
develop.

Perl 6 does not. It will hopefully one day, but come Christmas time, we're not
all going to just drop Perl 5 and start coding Perl 6 exclusively. They're
Sister languages; Perl 6 does not deprecate Perl 5.

------
gosukiwi
Ah I remember when I was trying to learn Perl. Because I knew PHP at the time,
I thought it was awesome, even better than PHP. Now I just use Ruby, but I'm
happy Perl is still alive.

