For me at least, it really depends. I have picked up a book and learned straight from that, at least well enough to get going on the subject. I also find that being in a class, where you are face-to-face with other students and an instructor is quite helpful as well. So too is reading the documentation online. It perhaps depends on where you are at in your learning as to which is most helpful. It really depends on the situation and circumstances involved. Ultimately, you have to know yourself and how you yourself learn and then select the best technique (or combination of techniques) to learn whatever it might be (not limited to just learning Perl or some other programming language).
"Ex libris un peut de tout"