Witty language, and just the right amount of complexity.
Although the number of pages is high, these books were produced with incredible attention to detail.
Would you mind listing a few of these?
I would add "Modern Perl" by chromatic: https://pragprog.com/titles/swperl/modern-perl-fourth-editio...
With lots of elegant examples, this book really shows that perl is not a write-only language.
Sure:
I already mentioned
Mark Jason Dominus: "Higher-Order Perl"
as it is a great introduction of functional programming and goes into all the gory details of how to implement lazy evaluation on top of closures.
Damian Conway: "Object Oriented Perl"
Comes to my mind as well. It's basically an introduction to object oriented programming so kind of similar in spirit to "Higher-Order Perl". It even talks about implementation techniques of OO protocols. Neat stuff.
These books are great even today as they transcend the Perl language.
A little outdated but still great to read are:
Randal L. Schwartz "Learning Perl"
Randal L. Schwartz "Intermediate Perl"
Brian D Foy "Mastering Perl" (my personal favorite in this series)
if you need to learn Perl 5 today.
I personally also liked
Tom Christiansen, Nathan Torkington: "Perl Cookbook"
which was basically just a large collection of programming solution recipes but usually also contained elaborate discussions on the various pros and cons of the corresponding solutions. I think it was in this book I first learned about the Fisher–Yates shuffle algorithm.
Brian D Foy: "Learning Perl 6" is a great book about Raku and is a more recent example of the great heritage of high quality introductory books about programming in the Perl domain.
It’s a good way to learn from because in practice you have these messy problems you’ll sometimes have to tackle from various sides before you push for a solution. Also software development is not about knowing all algorithms by heart but knowing when to reach for established work that is bullet proof and will save you and your organization a lot of headache in the future.
Somewhat more specific, and many of the libraries used are dated. But it did provide you with a huge amount of information, from writing simple echo clients with raw sockets up to fully multi process HTTP deamons, in a very accessible way.
The best one I've come across so far is from the guy that goes by "Ovid" (Curtis Poe). It had the right amount about the language, environment, package managers, popular libraries...etc. I liked the code as well.
For the most recent editions of Learning Perl, Randal Schwartz has been joined by brian d foy and Tom Phoenix. I suspect that those editions are good, too, but I haven't checked them out.
It's instructive to compare Learning Perl, which was (I think) under 300 pages in its early editions, to Learning Python, which is nearly 1600 pages long in its fifth edition. There's a lot of value in the longer book---but these two books exemplify very different ideas about what an intro book should be.