Always Learning

Advanced Search

Effective Perl Programming

Effective Perl Programming

Writing Better Programs with Perl

Joseph Hall, Randal Schwartz

Feb 1998, Paperback, 288 pages
ISBN13: 9780201419757
ISBN10: 0201419750
This product has been replaced by Effective Perl Programming
£27.99

This title cannot be purchased online
  • Print pagePrint page
  • Email this pageEmail page
  • Write a reviewWrite a review
  • Share

Perl experts Joseph Hall and Randal Schwartz share sixty concise lessons, focusing on programming techniques, pointers, rules of thumb, and the pitfalls to avoid, enabling students to make the most of Perl's power and capabilities. Through their advice, they help students develop a knack for the right ways to do things. They show how to solve problems with Perl, and how to debug and improve Perl programs. Through examples, they help you learn good Perl style. Geared for students who have already acquired Perl basics, the book will extend students' skill range, giving them the tactics and deeper understanding they need to create Perl programs that are more elegant, effective, and succinct. The book also speaks to those who want to become more fluent, expressive, and individualistic Perl programmers. The author maintains a substantial companion website at http://www.effectiveperl.com.

Powerful and flexible, Perl has established itself as a premier programming language, especially as a tool for World Wide Web development, text processing, and system administration. The language features full support for regular expressions, object-oriented modules, network programming, and process management. Perl is extensible and supports modular, cross-platform development.

In Effective Perl Programming, Perl experts Joseph Hall and Randal Schwartz share programming solutions, techniques, pointers, rules of thumb, and the pitfalls to avoid, enabling you to make the most of Perl's power and capabilities.

The authors will help you develop a knack for the right ways to do things. They show you how to solve problems with Perl and how to debug and improve your Perl programs. Offering examples, they help you learn good Perl style. Geared for programmers who have already acquired Perl basics, this book will extend your skill range, providing the tactics and deeper understanding you need to create Perl programs that are more elegant, effective, and succinct. This book also speaks to those who want to become more fluent, expressive, and individualistic Perl programmers.

To help you design and write real-world programs, Effective Perl Programming includes:

  • Perl basics
  • Idiomatic Perl
  • Regular expressions
  • Subroutines
  • References
  • Debugging
  • Usage of packages and modules
  • Object-oriented programming
  • Useful and interesting Perl miscellany

Numerous thought-provoking examples appear throughout the book, highlighting many of the subtleties that make Perl such a fascinating, fun, and powerful language to work with.



0201419750B04062001



Foreword.


Preface.


Acknowledgements.


Introduction.


Basics.
Item 1: Know your namespaces.Item 2: Avoid using a slice when you want an element.Item 3: Donít assign undef when you want an empty list.Item 4: String and numeric comparisons are different.Item 5: Remember that 0 and ďĒ are false.Item 6: Understand conversions between strings and numbers.

Idiomatic Perl.
Item 7: Use $_ for elegance.Item 8: Know the other default arguments: @_, @ARGV, STDIN.Item 9: Know common shorthands and syntax quirks.Item 10: Avoid excessive punctuation.Item 11: Consider different ways of reading from a stream.Item 12: Use foreach, map and grep as appropriate.Item 13: Donít misquote.Item 14: Learn the myriad ways of sorting.

Regular Expressions.
Item 15: Know the precedence of regular expression operators.Item 16: Use regular expression memory.Item 17: Avoid greed when parsimony is best.Item 18: Remember that whitespace is not a word boundary.Item 19: Use split for clarity, unpack for efficiency.Item 20: Avoid using regular expressions for simple string operations.Item 21: Make regular expressions readable.Item 22: Make regular expressions efficient.

Subroutines.
Item 23: Understand the difference between my and local.Item 24: Avoid using @_ directly - unless you have to.Item 25: Use wantarray to write subroutines returning lists.Item 26: Pass references instead of copies.Item 27: Use hashes to pass named parameters.Item 28: Use prototypes to get special argument parsing.Item 29: Use subroutines to create other subroutines.

References.
Item 30: Understand references and reference syntax.Item 31: Create lists of lists with references.Item 32: Donít confuse anonymous arrays with list literals.Item 33: Build C-style structs with anonymous hashes.Item 34: Be careful with circular data structures.Item 35: Use map and grep to manipulate complex data structures.

Debugging.
Item 36: Enable static and/or run-time checks.Item 37: Use debugging and profiling modules.Item 38: Learn to use a debugging version of Perl.Item 39: Test things by using the debugger as a Perl shell.Item 40: Donít debug too much at once.

Using Packages and Modules.
Item 41: Donít reinvent the wheel - use Perl modules.Item 42: Understand packages and modules.Item 43: Make sure Perl can find the modules you are using.Item 44: Use perldoc to extract documentation for installed modules.

Writing Packages and Modules.
Item 45: Use h2xs to generate module boilerplate.Item 46: Embed your documentation with POD.Item 47: Use XS for low-level interfaces and/or speed.Item 48: Submit your useful modules to the CPAN.

Object-Oriented Programming.
Item 49: Consider using Perlís object-oriented programming features.Item 50: Understand method inheritance in Perl.Item 51: Inherit data explicitly.Item 52: Create invisible interfaces with tied variables.

Miscellany.
Item 53: Use pack and unpack for data munging.Item 54: Know how and when to use eval, require, and do.Item 55: Know when, and when not, to write networking code.Item 56: Donít forget the file test operators.Item 57: Access the symbol table with typeglobs.Item 58: Use @{[”]} or a tied hash to evaluate expressions inside strings.Item 59: Initialize with BEGIN; finish with END.Item 60: Some interesting Perl one-liners.

Appendix A: sprintf.


Appendix B: Perl Resources.


Index. 0201419750T04062001

Joseph N. Hall is a software designer with interests in object-oriented languages, compilers, and graphical user interfaces. He teaches Perl and World Wide Web classes in association with Stonehenge Consulting, a leading provider of Perl Instruction.



0201419750AB04062001

Your opinions count

Be the first to review this product. Write your review now.