The authors do a good job of getting the concepts across, but this book is high on:
- Larry Wall. Ok, sure, he invented Perl and I'm sure he's a smart guy - but really guys, get over your love affair with him. It's really not helpful.
- Footnotes. For the love of god, stop it. Sometimes it seems there's more text in the footnotes that in the section that the footnotes cover. It's distracting at best.
- Perl. Sure, it's a Perl book and it's going to favorable to Perl - but - Perl isn't going to cure cancer, create world peace or create a 1000mpg car. Stop treating it like it's magic juice.
- Condescension. I personally get the feeling that the authors are riding a rather spirited moral high horse and if you don't agree with them, you're just not that smart.
They have good information and it's laid out well. The writing style and editing detracted immensely from this book for me.
Author(s): Tom Phoenix, Randal L. Schwartz
Edition: 3rd
Publisher: O'Reilly Media
Year: 2001
Language: English
Commentary: +OCR
Pages: 259
Table of Contents......Page 3
Typographical Conventions......Page 7
History of This Book......Page 8
Acknowledgments......Page 10
1.1 Questions and Answers......Page 12
1.2 What Does "Perl" Stand For?......Page 14
1.3 How Can I Get Perl?......Page 17
1.4 How Do I Make a Perl Program?......Page 20
1.5 A Whirlwind Tour of Perl......Page 24
1.6 Exercises......Page 26
2.2 Numbers......Page 27
2.3 Strings......Page 29
2.5 Scalar Variables......Page 33
2.6 Output with print......Page 35
2.7 The if Control Structure......Page 39
2.8 Getting User Input......Page 40
2.9 The chomp Operator......Page 41
2.11 The undef Value......Page 42
2.12 The defined Function......Page 43
2.13 Exercises......Page 44
3.1 Accessing Elements of an Array......Page 45
3.2 Special Array Indices......Page 46
3.3 List Literals......Page 47
3.4 List Assignment......Page 48
3.6 The foreach Control Structure......Page 51
3.7 Perl's Favorite Default: $_......Page 52
3.8 Scalar and List Context......Page 53
3.9 in List Context......Page 56
3.10 Exercises......Page 57
4.2 Defining a Subroutine......Page 58
4.4 Return Values......Page 59
4.5 Arguments......Page 61
4.6 Private Variables in Subroutines......Page 62
4.7 The local Operator......Page 63
4.8 Variable-length Parameter Lists......Page 64
4.9 Notes on Lexical (my) Variables......Page 66
4.10 The use strict Pragma......Page 67
4.11 The return Operator......Page 68
4.12 Exercises......Page 70
5.1 What Is a Hash?......Page 71
5.2 Hash Element Access......Page 73
5.3 Hash Functions......Page 76
5.4 Typical Use of a Hash......Page 78
5.5 Exercises......Page 80
6.1 Input from Standard Input......Page 81
6.2 Input from the Diamond Operator......Page 82
6.3 The Invocation Arguments......Page 84
6.4 Output to Standard Output......Page 85
6.5 Formatted Output with printf......Page 87
6.6 Exercises......Page 90
7.1 What Are Regular Expressions?......Page 91
7.2 Using Simple Patterns......Page 92
7.3 A Pattern Test Program......Page 94
7.4 Exercises......Page 95
8.1 Character Classes......Page 96
8.2 General Quantifiers......Page 97
8.3 Anchors......Page 98
8.4 Memory Parentheses......Page 99
8.5 Precedence......Page 101
8.6 Exercises......Page 103
9.2 Option Modifiers......Page 104
9.3 The Binding Operator, =~\r\n......Page 105
9.4 Interpolating into Patterns......Page 106
9.5 The Match Variables......Page 107
9.6 Substitutions with s///......Page 110
9.7 The split Operator......Page 112
9.8 The join Function......Page 113
9.9 Exercises......Page 114
10.1 The unless Control Structure......Page 115
10.3 Expression Modifiers......Page 116
10.4 The Naked Block Control Structure......Page 117
10.5 The elsif Clause......Page 118
10.6 Autoincrement and Autodecrement......Page 119
10.7 The for Control Structure......Page 120
10.8 Loop Controls......Page 122
10.9 Logical Operators......Page 126
10.10 Exercise......Page 130
11.1 What Is a Filehandle?......Page 131
11.2 Opening a Filehandle......Page 132
11.3 Fatal Errors with die......Page 134
11.4 Using Filehandles......Page 137
11.6 File Tests......Page 138
11.7 Exercises......Page 147
12.2 Globbing......Page 148
12.3 An Alternate Syntax for Globbing......Page 149
12.4 Directory Handles......Page 150
12.5 Recursive Directory Listing......Page 151
12.6 Exercises......Page 152
13.1 Removing Files......Page 153
13.2 Renaming Files......Page 154
13.3 Links and Files......Page 155
13.4 Making and Removing Directories......Page 159
13.5 Modifying Permissions......Page 160
13.7 Changing Timestamps......Page 161
13.8 Using Simple Modules......Page 162
13.9 Exercises......Page 166
14.1 The system Function......Page 167
14.2 The exec Function......Page 169
14.3 The Environment Variables......Page 170
14.4 Using Backquotes to Capture Output......Page 171
14.5 Processes as Filehandles......Page 174
14.6 Getting Down and Dirty with Fork......Page 175
14.7 Sending and Receiving Signals......Page 176
14.8 Exercises......Page 179
15.1 Finding a Substring with index......Page 180
15.2 Manipulating a Substring with substr......Page 181
15.3 Formatting Data with sprintf......Page 182
15.4 Advanced Sorting......Page 184
15.5 Exercises......Page 189
16.1 DBM Files and DBM Hashes......Page 190
16.3 Fixed-length Random-access Databases......Page 192
16.4 Variable-length (Text) Databases......Page 195
16.5 Exercises......Page 199
17.1 Trapping Errors with eval......Page 200
17.2 Picking Items from a List with grep......Page 202
17.3 Transforming Items from a List with map......Page 203
17.5 More Powerful Regular Expressions......Page 204
17.6 Slices......Page 206
17.7 Exercise......Page 211
Appendix A. Exercise Answers......Page 212
B.4 Extending Perl's Functionality......Page 242
B.5 Some Important Modules......Page 244
B.6 Pragmas......Page 247
B.7 Databases......Page 249
B.10 Lists and Arrays......Page 250
B.13 Networking and IPC......Page 251
B.16 The Common Gateway Interface (CGI)......Page 252
B.17 Command-Line Options......Page 253
B.20 References......Page 254
B.24 Embedding......Page 255
B.26 Converting find Command Lines to Perl......Page 256
B.32 Graphical User Interfaces (GUIs)......Page 257
B.33 And More.........Page 258
Colophon......Page 259