Learning Perl
Randal L. Schwartz
Exercises (with complete solutions) accompany each chapter. A lengthy new chapter in this edition introduces you to CGI programming, while touching also on the use of library modules, references, and Perl's object-oriented constructs.