(ebook) - O'Reilly - Advanced Perl Programming.pdf
(
5210 KB
)
Pobierz
Advanced Perl Programming
Advanced Perl Programming
http://kickme.to/tiger/
By Sriram Srinivasan; ISBN 1-56592-220-4, 434 pages.
First Edition, August 1997.
(See the
catalog page
for this book.)
Search
the text of Advanced Perl Programming.
Index
Symbols
|
A
|
B
|
C
|
D
|
E
|
F
|
G
|
H
|
I
|
J
|
K
|
L
|
M
|
N
|
O
|
P
|
Q
|
R
|
S
|
T
|
U
|
V
|
W
|
X
|
Y
|
Z
Table of Contents
Preface
Chapter 1: Data References and Anonymous Storage
Chapter 2: Implementing Complex Data Structures
Chapter 3: Typeglobs and Symbol Tables
Chapter 4: Subroutine References and Closures
Chapter 5: Eval
Chapter 6: Modules
Chapter 7: Object-Oriented Programming
Chapter 8: Object Orientation: The Next Few Steps
Chapter 9: Tie
Chapter 10: Persistence
Chapter 11: Implementing Object Persistence
Chapter 12: Networking with Sockets
Chapter 13: Networking: Implementing RPC
Chapter 14: User Interfaces with Tk
Chapter 15: GUI Example: Tetris
Chapter 16: GUI Example: Man Page Viewer
Chapter 17: Template-Driven Code Generation
Chapter 18: Extending Perl:A First Course
Chapter 19: Embedding Perl:The Easy Way
Chapter 20: Perl Internals
Appendix A: Tk Widget Reference
Appendix B: Syntax Summary
Examples
The Perl CD
Bookshelf
Navigation
Copyright
© 1999
O'Reilly & Associates
.
All Rights Reserved.
Preface
Next: Why
Perl?
Preface
Contents:
The Case for Scripting
Why Perl?
What Must I Know?
The Book's Approach
Conventions
Resources
Perl Resources
We'd Like to Hear from You
Acknowledgments
Errors, like straws, upon the surface flow;
He who would search for pearls must dive below.
- John Dryden, All for Love, Prologue
This book has two goals: to make you a Perl expert, and, at a broader level, to supplement your current
arsenal of techniques and tools for crafting applications. It covers advanced features of the Perl language,
teaches you how the perl interpreter works, and presents areas of modern computing technology such as
networking, user interfaces, persistence, and code generation.
You will not merely dabble with language syntax or the APIs of different modules as you read this book.
You will spend just as much time dealing with real-world issues such as avoiding deadlocks during
remote procedure calls and switching smoothly between data storage using a flat file or a database.
Along the way, you'll become comfortable with such Perl techniques as run-time evaluation, nested data
structures, objects, and closures.
This book expects you to know the essentials of Perl - a minimal subset, actually; you must be
conversant with the basic data types (scalars, arrays, and hashes), regular expressions, subroutines, basic
control structures (
if
,
while
,
unless
,
for
,
foreach
), file I/O, and standard variables such as
@ARGV and $_. Should this not be the case, I recommend Randal Schwartz and Tom Christiansen's
excellent tutorial,
Learning Perl
, Second Edition.
The book - in particular, this preface - substantiates two convictions of mine.
The first is that a two-language approach is most appropriate for tackling typical large-application
projects: a scripting language (such as Perl, Visual Basic, Python, or Tcl) in conjunction with a systems
programming language (C, C++, Java). A scripting language has weak compile-time type checking, has
high-level data structures (for instance, Perl's hash table is a fundamental type; C has no such thing), and
does not typically have a separate compilation-linking phase. A systems programming language is
typically closer to the operating system, has fine-grained data types (C has short, int, long, unsigned int,
float, double, and so on, whereas Perl has a scalar data type), and is typically faster than interpreted
languages. Perl spans the language spectrum to a considerable degree: It performs extremely well as a
scripting language, yet gives you low-level access to operating system API, is much faster than Java (as
this book goes to press), and can optionally be compiled.
The distinction between scripting and systems programming languages is a contentious one, but it has
served me well in practice. This point will be underscored in the last three chapters of the book (on
extending Perl, embedding Perl, and Perl internals).
I believe that neither type of language is properly equipped to handle sophisticated application projects
satisfactorily on its own, and I hope to make the case for Perl and C/C++ as the two-language
combination mentioned earlier. Of course, it would be most gratifying, or
totally tubular
, as the local
kids are wont to say, if the design patterns and lessons learned in this book help you even if you were to
choose other languages.
The second conviction of mine is that to deploy effective applications, it is not enough just to know the
language syntax well. You must know, in addition, the internals of the language's environment, and you
must have a solid command of technology areas such as networking, user interfaces, databases, and so
forth (specially issues that transcend language-specific libraries).
Let's look at these two points in greater detail.
The Case for Scripting
I started my professional life building entire applications in assembler, on occasion worrying about trying
to save 100 bytes of space and optimizing away that one extra instruction. C and PL/M changed my
world view. I found myself getting a chance to reflect on the application as a whole, on the life-cycle of
the project, and on how it was being used by the end-user. Still, where efficiency was paramount, as was
the case for interrupt service routines, I continued with assembler. (Looking back, I suspect that the
PL/M compiler could generate far better assembly code than I, but my vanity would have prevented such
an admission.)
My applications' requirements continued to increase in complexity; in addition to dealing with graphical
user interfaces, transactions, security, network transparency, and heterogeneous platforms, I began to get
involved in designing software architectures for problems such as aircraft scheduling and network
management. My own efficiency had become a much more limiting factor than that of the applications.
While object orientation was making me more effective at the design level, the implementation language,
C++, and the libraries and tools available weren't helping me raise my level of programming. I was still
dealing with low-level issues such as constructing frameworks for dynamic arrays, meta-data, text
manipulation, and memory management. Unfortunately, environments such as Eiffel, Smalltalk, and the
Plik z chomika:
Amiga7878
Inne pliki z tego folderu:
access_2007_the_missing_manual.pdf
(44664 KB)
101_excel_2013_tips_tricks_and_timesavers.pdf
(46676 KB)
(ebook - PDF) JBoss Group - JBoss All Docs Subscription.zip
(16897 KB)
(ebook - pdf) Hack Proofing Linux.pdf
(12097 KB)
(ebook-pdf) - SAMS - DB2 Developer's Guide-Fourth Edition.pdf
(19264 KB)
Inne foldery tego chomika:
Amiga Computing Magazine (UK)
Anticipation Fleuve Noir
Asimov
Buddhism
Cinefantastique
Zgłoś jeśli
naruszono regulamin