Adopted as the undisputed Perl bible soon after the first edition appeared in 1991, Programming Perl is still the go-to guide for this highly practical language. Perl began life as a super-fueled text processing utility, but quickly evolved into a general purpose programming language that's helped hundreds of thousands of programmers, system administrators, and enthusiasts, like you, get your job done. In this much-anticipated update to "the Camel," three renowned Perl authors cover the language up to its current version, Perl 5.14, with a preview of features in the upcoming 5.16. In a world…mehr
Adopted as the undisputed Perl bible soon after the first edition appeared in 1991, Programming Perl is still the go-to guide for this highly practical language. Perl began life as a super-fueled text processing utility, but quickly evolved into a general purpose programming language that's helped hundreds of thousands of programmers, system administrators, and enthusiasts, like you, get your job done. In this much-anticipated update to "the Camel," three renowned Perl authors cover the language up to its current version, Perl 5.14, with a preview of features in the upcoming 5.16. In a world where Unicode is increasingly essential for text processing, Perl offers the best and least painful support of any major language, smoothly integrating Unicode everywhere - including in Perl's most popular feature: regular expressions. Important features covered by this update include: New keywords and syntax I/O layers and encodings New backslash escapes Unicode 6.0 Unicode grapheme clustersand properties Named captures in regexes Recursive and grammatical patterns Expanded coverage of CPAN Current best practicesHinweis: Dieser Artikel kann nur an eine deutsche Lieferadresse ausgeliefert werden.
Tom Christiansen is a freelance consultant specializing in Perl training and writing. After working for several years for TSR Hobbies (of Dungeons and Dragons fame), he set off for college where he spent a year in Spain and five in America, dabbling in music, linguistics, programming, and some half-dozen differentspoken languages. Tom finally escaped UW-Madison with undergraduate degrees in Spanish and computer science and a graduate degree in computer science. He then spent five years at Convex as a jack-of-all-trades working on everything from system administration to utility and kernel development, withcustomer support and training thrown in for good measure. Tom also served two terms on the USENIX Association Board of directors. With over thirty years' experience in Unix systems programming, Tom presents seminars internationally. Living in the foothills above Boulder, Colorado, Tom takes summers off for hiking, hacking, birding, music making, and gaming. brian d foy is a prolific Perl trainer and writer, and runs The Perl Review to help people use and understand Perl through educational, consulting, code review, and more. He's a frequent speaker at Perl conferences. He's the coauthor of Learning Perl, Intermediate Perl, and Effective Perl Programming, and the author of Mastering Perl. He was an instructor and author for Stonehenge Consulting Services from 1998 to 2009, a Perl user since he was a physics graduate student, and a die-hard Mac user since he first owned a computer. He founded the first Perl user group, the New York Perl Mongers, as well as the Perl advocacy nonprofit Perl Mongers, Inc., which helped form more than 200 Perl user groups across the globe. He maintains the perlfaq portions of the core Perl documentation, several modules on CPAN, and some standalone scripts. Larry Wall originally created Perl while a programmer at Unisys. He now works full time guiding the future development of the language. Larry is known for his idiosyncratic and thought-provoking approach to programming, as well as for his groundbreaking contributions to the culture of free software programming. Jon Orwant founded The Perl Journal and received the White Camel lifetime achievement award for contributions to Perl in 2004. He's Engineering Manager at Google, where he leads Patent Search, visualizations, and digital humanities teams. For most of his tenure at Google, Jon worked on Book Search, and he developed the widely used Google Books Ngram Viewer. Prior to Google, he wasCTO of O'Reilly, Director of Research at France Telecom, and a Lecturer at MIT. Orwant received his doctorate from MIT's Electronic Publishing Group in 1999.
Inhaltsangabe
Preface The Pursuit of Happiness What's New in This Edition The Standard Distribution Online Documentation Offline Documentation Additional Resources Conventions Used in This Book Using Code Examples Acknowledgments Safari® Books Online We'd Like to Hear from You Part I: Overview Chapter 1: An Overview of Perl 1.1 Getting Started 1.2 Natural and Artificial Languages 1.3 An Average Example 1.4 Filehandles 1.5 Operators 1.6 Control Structures 1.7 Regular Expressions 1.8 List Processing 1.9 What You Don't Know Won't Hurt You (Much) Part II: The Gory Details Chapter 2: Bits and Pieces 2.1 Atoms 2.2 Molecules 2.3 Built-in Data Types 2.4 Variables 2.5 Names 2.6 Scalar Values 2.7 Context 2.8 List Values and Arrays 2.9 Hashes 2.10 Typeglobs and Filehandles 2.11 Input Operators Chapter 3: Unary and Binary Operators 3.1 Terms and List Operators (Leftward) 3.2 The Arrow Operator 3.3 Autoincrement and Autodecrement 3.4 Exponentiation 3.5 Ideographic Unary Operators 3.6 Binding Operators 3.7 Multiplicative Operators 3.8 Additive Operators 3.9 Shift Operators 3.10 Named Unary and File Test Operators 3.11 Relational Operators 3.12 Equality Operators 3.13 Smartmatch Operator 3.14 Bitwise Operators 3.15 C-Style Logical (Short-Circuit) Operators 3.16 Range Operators 3.17 Conditional Operator 3.18 Assignment Operators 3.19 Comma Operators 3.20 List Operators (Rightward) 3.21 Logical and, or, not, and xor 3.22 C Operators Missing from Perl Chapter 4: Statements and Declarations 4.1 Simple Statements 4.2 Compound Statements 4.3 if and unless Statements 4.4 The given Statement 4.5 Loop Statements 4.6 The goto Operator 4.7 Paleolithic Perl Case Structures 4.8 The Ellipsis Statement 4.9 Global Declarations 4.10 Scoped Declarations 4.11 Pragmas Chapter 5: Pattern Matching 5.1 The Regular Expression Bestiary 5.2 Pattern-Matching Operators 5.3 Metacharacters and Metasymbols 5.4 Character Classes 5.5 Quantifiers 5.6 Positions 5.7 Grouping and Capturing 5.8 Alternation 5.9 Staying in Control 5.10 Fancy Patterns Chapter 6: Unicode 6.1 Show, Don't Tell 6.2 Getting at Unicode Data 6.3 A Case of Mistaken Identity 6.4 Graphemes and Normalization 6.5 Comparing and Sorting Unicode Text 6.6 More Goodies 6.7 References Chapter 7: Subroutines 7.1 Syntax 7.2 Semantics 7.3 Passing References 7.4 Prototypes 7.5 Subroutine Attributes Chapter 8: References 8.1 What Is a Reference? 8.2 Creating References 8.3 Using Hard References 8.4 Symbolic References 8.5 Braces, Brackets, and Quoting Chapter 9: Data Structures 9.1 Arrays of Arrays 9.2 Hashes of Arrays 9.3 Arrays of Hashes 9.4 Hashes of Hashes 9.5 Hashes of Functions 9.6 More Elaborate Records 9.7 Saving Data Structures Chapter 10: Packages 10.1 Symbol Tables 10.2 Qualified Names 10.3 The Default Package 10.4 Changing the Package 10.5 Autoloading Chapter 11: Modules 11.1 Loading Modules 11.2 Unloading Modules 11.3 Creating Modules 11.4 Overriding Built-in Functions Chapter 12: Objects 12.1 Brief Refresher on Object-Oriented Lingo 12.2 Perl's Object System 12.3 Method Invocation 12.4 Object Construction 12.5 Class Inheritance 12.6 Instance Destructors 12.7 Managing Instance Data 12.8 Managing Class Data 12.9 The Moose in the Room 12.10 Summary Chapter 13: Overloading 13.1 The overload Pragma 13.2 Overload Handlers 13.3 Overloadable Operators 13.4 The Copy Constructor (=) 13.5 When an Overload Handler Is Missing (nomethod and fallback) 13.6 Overloading Constants 13.7 Public Overload Functions 13.8 Inheritance and Overloading 13.9 Runtime Overloading 13.10 Overloading Diagnostics Chapter 14: Tied Variables 14.1 Tying Scalars 14.2 Tying Arrays 14.3 Tying Hashes 14.4 Tying Filehandles 14.5 A Subtle Untying Trap 14.6 Tie Modules on CPAN Part III: Perl as Technology Chapter 15: Interprocess Communication 15.1 Signals 15.2 Files 15.3 Pipes 15.4 System V IPC 15.5 Sockets Chapter 16: Compiling 16.1 The Life Cycle of a Perl Program 16.2 Compiling Your Code 16.3 Executing Your Code 16.4 Compiler Backends 16.5 Code Generators 16.6 Code Development Tools 16.7 Avant-Garde Compiler, Retro Interpreter Chapter 17: The Command-Line Interface 17.1 Command Processing 17.2 Environment Variables Chapter 18: The Perl Debugger 18.1 Using the Debugger 18.2 Debugger Commands 18.3 Debugger Customization 18.4 Unattended Execution 18.5 Debugger Support 18.6 Profiling Perl Chapter 19: CPAN 19.1 History 19.2 A Tour of the Repository 19.3 The CPAN Ecosystem 19.4 Installing CPAN Modules 19.5 Creating CPAN Distributions Part IV: Perl as Culture Chapter 20: Security 20.1 Handling Insecure Data 20.2 Handling Timing Glitches 20.3 Handling Insecure Code Chapter 21: Common Practices 21.1 Common Goofs for Novices 21.2 Efficiency 21.3 Programming with Style 21.4 Fluent Perl 21.5 Program Generation Chapter 22: Portable Perl 22.1 Newlines 22.2 Endianness and Number Width 22.3 Files and Filesystems 22.4 System Interaction 22.5 Interprocess Communication (IPC) 22.6 External Subroutines (XS) 22.7 Standard Modules 22.8 Dates and Times 22.9 Internationalization 22.10 Style Chapter 23: Plain Old Documentation 23.1 Pod in a Nutshell 23.2 Pod Translators and Modules 23.3 Writing Your Own Pod Tools 23.4 Pod Pitfalls 23.5 Documenting Your Perl Programs Chapter 24: Perl Culture 24.1 History Made Practical 24.2 Perl Poetry 24.3 Virtues of the Perl Programmer 24.4 Events 24.5 Getting Help Part V: Reference Material Chapter 25: Special Names 25.1 Special Names Grouped by Type 25.2 Special Variables in Alphabetical Order Chapter 26: Formats 26.1 String Formats 26.2 Binary Formats 26.3 Picture Formats Chapter 27: Functions 27.1 Perl Functions by Category 27.2 Perl Functions in Alphabetical Order Chapter 28: The Standard Perl Library 28.1 Library Science 28.2 A Tour of the Perl Library Chapter 29: Pragmatic Modules 29.1 attributes 29.2 autodie 29.3 autouse 29.4 base 29.5 bigint 29.6 bignum 29.7 bigrat 29.8 blib 29.9 bytes 29.10 charnames 29.11 constant 29.12 deprecate 29.13 diagnostics 29.14 encoding 29.15 feature 29.16 fields 29.17 filetest 29.18 if 29.19 inc::latest 29.20 integer 29.21 less 29.22 lib 29.23 locale 29.24 mro 29.25 open 29.26 ops 29.27 overload 29.28 overloading 29.29 parent 29.30 re 29.31 sigtrap 29.32 sort 29.33 strict 29.34 subs 29.35 threads 29.36 utf8 29.37 vars 29.38 version 29.39 vmsish 29.40 warnings 29.41 User-Defined Pragmas Index of Perl Modules in This Book Colophon
Preface The Pursuit of Happiness What's New in This Edition The Standard Distribution Online Documentation Offline Documentation Additional Resources Conventions Used in This Book Using Code Examples Acknowledgments Safari® Books Online We'd Like to Hear from You Part I: Overview Chapter 1: An Overview of Perl 1.1 Getting Started 1.2 Natural and Artificial Languages 1.3 An Average Example 1.4 Filehandles 1.5 Operators 1.6 Control Structures 1.7 Regular Expressions 1.8 List Processing 1.9 What You Don't Know Won't Hurt You (Much) Part II: The Gory Details Chapter 2: Bits and Pieces 2.1 Atoms 2.2 Molecules 2.3 Built-in Data Types 2.4 Variables 2.5 Names 2.6 Scalar Values 2.7 Context 2.8 List Values and Arrays 2.9 Hashes 2.10 Typeglobs and Filehandles 2.11 Input Operators Chapter 3: Unary and Binary Operators 3.1 Terms and List Operators (Leftward) 3.2 The Arrow Operator 3.3 Autoincrement and Autodecrement 3.4 Exponentiation 3.5 Ideographic Unary Operators 3.6 Binding Operators 3.7 Multiplicative Operators 3.8 Additive Operators 3.9 Shift Operators 3.10 Named Unary and File Test Operators 3.11 Relational Operators 3.12 Equality Operators 3.13 Smartmatch Operator 3.14 Bitwise Operators 3.15 C-Style Logical (Short-Circuit) Operators 3.16 Range Operators 3.17 Conditional Operator 3.18 Assignment Operators 3.19 Comma Operators 3.20 List Operators (Rightward) 3.21 Logical and, or, not, and xor 3.22 C Operators Missing from Perl Chapter 4: Statements and Declarations 4.1 Simple Statements 4.2 Compound Statements 4.3 if and unless Statements 4.4 The given Statement 4.5 Loop Statements 4.6 The goto Operator 4.7 Paleolithic Perl Case Structures 4.8 The Ellipsis Statement 4.9 Global Declarations 4.10 Scoped Declarations 4.11 Pragmas Chapter 5: Pattern Matching 5.1 The Regular Expression Bestiary 5.2 Pattern-Matching Operators 5.3 Metacharacters and Metasymbols 5.4 Character Classes 5.5 Quantifiers 5.6 Positions 5.7 Grouping and Capturing 5.8 Alternation 5.9 Staying in Control 5.10 Fancy Patterns Chapter 6: Unicode 6.1 Show, Don't Tell 6.2 Getting at Unicode Data 6.3 A Case of Mistaken Identity 6.4 Graphemes and Normalization 6.5 Comparing and Sorting Unicode Text 6.6 More Goodies 6.7 References Chapter 7: Subroutines 7.1 Syntax 7.2 Semantics 7.3 Passing References 7.4 Prototypes 7.5 Subroutine Attributes Chapter 8: References 8.1 What Is a Reference? 8.2 Creating References 8.3 Using Hard References 8.4 Symbolic References 8.5 Braces, Brackets, and Quoting Chapter 9: Data Structures 9.1 Arrays of Arrays 9.2 Hashes of Arrays 9.3 Arrays of Hashes 9.4 Hashes of Hashes 9.5 Hashes of Functions 9.6 More Elaborate Records 9.7 Saving Data Structures Chapter 10: Packages 10.1 Symbol Tables 10.2 Qualified Names 10.3 The Default Package 10.4 Changing the Package 10.5 Autoloading Chapter 11: Modules 11.1 Loading Modules 11.2 Unloading Modules 11.3 Creating Modules 11.4 Overriding Built-in Functions Chapter 12: Objects 12.1 Brief Refresher on Object-Oriented Lingo 12.2 Perl's Object System 12.3 Method Invocation 12.4 Object Construction 12.5 Class Inheritance 12.6 Instance Destructors 12.7 Managing Instance Data 12.8 Managing Class Data 12.9 The Moose in the Room 12.10 Summary Chapter 13: Overloading 13.1 The overload Pragma 13.2 Overload Handlers 13.3 Overloadable Operators 13.4 The Copy Constructor (=) 13.5 When an Overload Handler Is Missing (nomethod and fallback) 13.6 Overloading Constants 13.7 Public Overload Functions 13.8 Inheritance and Overloading 13.9 Runtime Overloading 13.10 Overloading Diagnostics Chapter 14: Tied Variables 14.1 Tying Scalars 14.2 Tying Arrays 14.3 Tying Hashes 14.4 Tying Filehandles 14.5 A Subtle Untying Trap 14.6 Tie Modules on CPAN Part III: Perl as Technology Chapter 15: Interprocess Communication 15.1 Signals 15.2 Files 15.3 Pipes 15.4 System V IPC 15.5 Sockets Chapter 16: Compiling 16.1 The Life Cycle of a Perl Program 16.2 Compiling Your Code 16.3 Executing Your Code 16.4 Compiler Backends 16.5 Code Generators 16.6 Code Development Tools 16.7 Avant-Garde Compiler, Retro Interpreter Chapter 17: The Command-Line Interface 17.1 Command Processing 17.2 Environment Variables Chapter 18: The Perl Debugger 18.1 Using the Debugger 18.2 Debugger Commands 18.3 Debugger Customization 18.4 Unattended Execution 18.5 Debugger Support 18.6 Profiling Perl Chapter 19: CPAN 19.1 History 19.2 A Tour of the Repository 19.3 The CPAN Ecosystem 19.4 Installing CPAN Modules 19.5 Creating CPAN Distributions Part IV: Perl as Culture Chapter 20: Security 20.1 Handling Insecure Data 20.2 Handling Timing Glitches 20.3 Handling Insecure Code Chapter 21: Common Practices 21.1 Common Goofs for Novices 21.2 Efficiency 21.3 Programming with Style 21.4 Fluent Perl 21.5 Program Generation Chapter 22: Portable Perl 22.1 Newlines 22.2 Endianness and Number Width 22.3 Files and Filesystems 22.4 System Interaction 22.5 Interprocess Communication (IPC) 22.6 External Subroutines (XS) 22.7 Standard Modules 22.8 Dates and Times 22.9 Internationalization 22.10 Style Chapter 23: Plain Old Documentation 23.1 Pod in a Nutshell 23.2 Pod Translators and Modules 23.3 Writing Your Own Pod Tools 23.4 Pod Pitfalls 23.5 Documenting Your Perl Programs Chapter 24: Perl Culture 24.1 History Made Practical 24.2 Perl Poetry 24.3 Virtues of the Perl Programmer 24.4 Events 24.5 Getting Help Part V: Reference Material Chapter 25: Special Names 25.1 Special Names Grouped by Type 25.2 Special Variables in Alphabetical Order Chapter 26: Formats 26.1 String Formats 26.2 Binary Formats 26.3 Picture Formats Chapter 27: Functions 27.1 Perl Functions by Category 27.2 Perl Functions in Alphabetical Order Chapter 28: The Standard Perl Library 28.1 Library Science 28.2 A Tour of the Perl Library Chapter 29: Pragmatic Modules 29.1 attributes 29.2 autodie 29.3 autouse 29.4 base 29.5 bigint 29.6 bignum 29.7 bigrat 29.8 blib 29.9 bytes 29.10 charnames 29.11 constant 29.12 deprecate 29.13 diagnostics 29.14 encoding 29.15 feature 29.16 fields 29.17 filetest 29.18 if 29.19 inc::latest 29.20 integer 29.21 less 29.22 lib 29.23 locale 29.24 mro 29.25 open 29.26 ops 29.27 overload 29.28 overloading 29.29 parent 29.30 re 29.31 sigtrap 29.32 sort 29.33 strict 29.34 subs 29.35 threads 29.36 utf8 29.37 vars 29.38 version 29.39 vmsish 29.40 warnings 29.41 User-Defined Pragmas Index of Perl Modules in This Book Colophon
Rezensionen
"Im ersten Teil des Buches erhält der Perl-Neuling einen umfassenden Überblick über die Sprache, ihre Eigenschaften und Stärken. (...) Weiter geht es mit dem zweiten Teil des Buches, wo dann im Detail und auf rund 350 Seiten all das Handwerkszeug ausführlich beschrieben wird, mit dem man sich als Programmierer die Zeit vertreibt: Operatoren, Reguläre Ausdrücke, Funktionen, Datenstrukturen und vieles mehr sind hier die Themen.
In vielen Büchern wäre wohl anschließend Schluß und allein für diese Kapitel ist das Buch vermutlich seinen Preis wert, allerdings geben sich die Autoren damit nicht zufrieden, sondern hängen noch Teile über Perl als Technologie (...) sowie Perl als Kultur (...) an. Nicht vergessen will ich hier den umfangreichen Referenzteil zur Sprache (...), der den Abschluß des Buches bildet.
Soviel als grober Überblick zum Inhalt, ich möchte an dieser Stelle noch einige Besonderheiten herausstreichen, die mir beim Lesen des Buches aufgefallen sind: Da wäre zum Ersten der wirklich erfrischende Stil der Autoren zu erwähnen, die es mehr als einmal geschafft haben, mich zum Lachen zu bringen. Auch die verwendeten Beispiele sind einprägsam und lassen den Humor der Autoren an mehr als einer Stelle durchblicken, ebenso wie die oft und gern eingestreuten Fußnoten im Text, die man sich nicht entgehen lassen sollte." --- Linux Usergroup Kassel, 04/2005 Lesen Sie die vollständige Rezension unter: http://lug-kassel.de/review/index.html#2
Es gelten unsere Allgemeinen Geschäftsbedingungen: www.buecher.de/agb
Impressum
www.buecher.de ist ein Internetauftritt der buecher.de internetstores GmbH
Geschäftsführung: Monica Sawhney | Roland Kölbl | Günter Hilger
Sitz der Gesellschaft: Batheyer Straße 115 - 117, 58099 Hagen
Postanschrift: Bürgermeister-Wegele-Str. 12, 86167 Augsburg
Amtsgericht Hagen HRB 13257
Steuernummer: 321/5800/1497