I guess Perl is kind of a special case :) I got up to speed by reading half of some fairly old Perl book, then reading most of Modern Perl.
I've also had similar experiences with Java, nevermind Javascript.
It is an utter and simple fact that due to tech being an everchanging landscape, any book more than a few years old is going to teach bad habits or explain concepts incorrectly.
Concepts change meaning and good habits turn bad every few years?
Shitty books are shitty, OKish books will be probably be fine for a language intro, even if they are old.