Teaching Perl to an audience with little or no programming background is quite an ambitious task.
Elements does a surprisingly decent job filling that niche of introductory texts.
in reply to Elements of Programming with Perl
However, I find the coverage of object orientation in the last two chapters plain dreadful.
The point of OO is abstraction, separation of different aspects of a problem in order to get reusable components of limited complexity.
A textbook should aim to showcase how a carefully designed component is indeed reusable.
Johnson misses this mark rather spectacularly when he builds a "Queue" class based on a "Stack" class that has of course to be changed in the course of this endeavour (and thus proven not to be reusable).
I recommend students to switch to Learning Perl Objects, References and Modules after chapter 17.
Besides that, I like the book.