Techniques for managing production-ready Perl programs are covered in this book, which also outlines methods for manipulating data and objects . It gives background for dealing with networks, databases, and GUIs, and includes a discussion of internals to help readers program more efficiently.
So you've learned Perl, but you're getting frustrated. Perhaps you've taken on a larger project than the ones you're used to. Or you want to add a user interface or a networking component. Or you need to do more complicated error trapping. Whether your knowledge of Perl is casual or deep, this book will make you a more accomplished programmer. Here you can learn the complex techniques for production-ready Perl programs. This book explains methods for manipulating data and objects that may have looked like magic before. Furthermore, it sets Perl in the context of a larger environment, giving you the background you need for dealing with networks, databases, and GUIs. The discussion of internals helps you program more efficiently and embed Perl within C or C within Perl. Major topics covered include: Practical use of packages and classes (object-oriented programming); Complex data structures; Persistence (e.g., using a database); Networking; Graphical interfaces, using the Tk toolkit; Interaction with C language functions; Embedding and extending the Perl interpreter In addition, the book patiently explains all sorts of language details you've always wanted to know more about, such as the use of references, trapping errors through the eval operator, non-blocking I/O, when closures are helpful, and using ties to trigger actions when data is accessed. You will emerge from this book a better hacker, and a proud master of Perl.
'This book lives up to everything I have come to expect of the O'Reilly Nutshell series, being both technically accurate and highly readable. I would recommend it to anyone needing to extend or embed perl as well as to those wishing to move to more complex perl programming than they might be doing at the moment.' - Tom Hughes, Cvue, January 2000
About Sriram Srinivasan
Sriram Srinivasan ("Ram") is an expert on distributed object technologies, and develops Java middleware at WebLogic, San Francisco, for fun and profit. He actively pursues his interests in programming languages, databases, transaction processing, networking, and meaningful user interfaces. Sriram has been an enthusiastic user and teacher of Perl for the last six years, and currently teaches a course on advanced Perl programming for the extension program at the University of California at Berkeley. In his spare time, he dabbles in Indian classical music, charcoal drawing, cooking, and biking, and dreams of the day when he can say, "In his spare time, he dabbles in programming languages, ...". He and his wife, Alka, an avowedly life-long student, live the good life in Berkeley, California.
Table of Contents
Preface 1. Data References and Anonymous Storage Referring to Existing Variables Using References Nested Data Structures Querying a Reference Symbolic References A View of the Internals References in Other Languages Resources 2. Implementing Complex Data Structures User-Defined Structures Example: Matrices Professors, Students, Courses Pass the Envelope Pretty-Printing Resources 3. Typeglobs and Symbol Tables Perl Variables, Symbol Table, and Scoping Typeglobs Typeglobs and References Filehandles, Directory Handles, and Formats 4. Subroutine References and Closures Subroutine References Using Subroutine References Closures Using Closures Comparisons to Other Languages Resources 5. Eval The String Form: Expression Evaluation The Block Form: Exception Handling Watch Your Quotes Using Eval for Expression Evaluation Using Eval for Efficiency Using Eval for Time-Outs Eval in Other Languages Resources 6. Modules Basic Package Packages and Files Package Initialization and Destruction Privacy Importing Symbols Nesting Packages Autoloading Accessing the Symbol Table Language Comparisons 7. Object-Oriented Programming OO: An Introduction Objects in Perl UNIVERSAL Recap of Conventions Comparison with Other OO Languages Resources 8. Object Orientation: The Next Few Steps Efficient Attribute Storage Delegation On Inheritance Resources 9. Tie Tying Scalars Tying Arrays Tying Hashes Tying Filehandles Example: Monitoring Variables Comparisons with Other Languages 10. Persistence Persistence Issues Streamed Data Record-Oriented Approach Relational Databases Resources 11. Implementing Object Persistence Adaptor: An Introduction Design Notes Implementation Resources 12. Networking with Sockets Networking Primer Socket API and IO::Socket Handling Multiple Clients Real-World Servers IO Objects and Filehandles Prebuilt Client Modules Resources 13. Networking: Implementing RPC Msg: Messaging Toolkit Remote Procedure Calls (RPC) Resources 14. User Interfaces with Tk Introduction to GUIs, Tk, and Perl/Tk Starting with Perl/Tk Widget Tour Geometry Management Timers Event Bindings Event Loops Resources 15. GUI Example: Tetris Introduction to Tetris Design Implementation 16. GUI Example: Man Page Viewer man and perlman Implementation Resources 17. Template-Driven Code Generation On Code Generation Jeeves Example Jeeves Overview Jeeves Implementation Sample Specification Parser Resources 18. Extending Perl: A First Course Writing an Extension: Overview Example: Fractals with Perl SWIG Features XS Features Degrees of Freedom A Detour into Fractals Resources 19. Embedding Perl: The Easy Way Why Embed? Embedding Overview Examples Adding Extensions Resources 20. Perl Internals Reading the Source Architecture Perl Value Types Stacks and Messaging Protocol Meaty Extensions Easy Embedding API A Peek into the Future Resources A. Tk Widget Reference B. Syntax Summary Index
Advanced Perl Programming by Sriram Srinivasan
Used - Very Good
O'Reilly Media, Inc, USA
Book picture is for illustrative purposes only, actual binding, cover or edition may vary.
This is a used book - there is no escaping the fact it has been read by someone else and it will show signs of wear and previous use. Overall we expect it to be in very good condition, but if you are not entirely satisfied please get in touch with us.