HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
Register your product to gain access to bonus material or receive a coupon.
“I picked up a copy of JavaScript by Example over the weekend and wanted to thank you for putting out a book that makes JavaScript easy to understand. I’ve been a developer for several years now and JS has always been the “monster under the bed,” so to speak. Your book has answered a lot of questions I’ve had about the inner workings of JS but was afraid to ask. Now all I need is a book that covers Ajax and Coldfusion. Thanks again for putting together an outstanding book.”
–Chris Gomez, Web services manager, Zunch Worldwide, Inc.
“I have been reading your UNIX® Shells by Example book, and I must say, it is brilliant. Most other books do not cover all the shells, and when you have to constantly work in an organization that uses tcsh, bash, and korn, it can become very difficult. However, your book has been indispensable to me in learning the various shells and the differences between them…so I thought I’d email you, just to let you know what a great job you have done!”
–Farogh-Ahmed Usmani, B.Sc. (Honors), M.Sc., DIC, project consultant (Billing Solutions), Comverse
“I have been learning Perl for about two months now; I have a little shell scripting experience but that is it. I first started with Learning Perl by O’Reilly. Good book but lacking on the examples. I then went to Programming Perl by Larry Wall, a great book for intermediate to advanced, didn’t help me much beginning Perl. I then picked up Perl by Example, Third Edition–this book is a superb, well-written programming book. I have read many computer books and this definitely ranks in the top two, in my opinion. The examples are excellent. The author shows you the code, the output of each line, and then explains each line in every example.”
–Dan Patterson, software engineer, GuideWorks, LLC
“Ellie Quigley has written an outstanding introduction to Perl, which I used to learn the language from scratch. All one has to do is work through her examples, putz around with them, and before long, you’re relatively proficient at using the language. Even though I’ve graduated to using Programming Perl by Wall et al., I still find Quigley’s book a most useful reference.”
–Casey Machula, support systems analyst, Northern Arizona University, College of Health and Human Services
“When I look at my bookshelf, I see eleven books on Perl programming. Perl by Example, Third Edition, isn’t on the shelf; it sits on my desk, where I use it almost daily. When I bought my copy I had not programmed in several years and my programming was mostly in COBOL so I was a rank beginner at Perl. I had at that time purchased several popular books on Perl but nothing that really put it together for me. I am still no pro, but my book has many dog-eared pages and each one is a lesson I have learned and will certainly remember. “I still think it is the best Perl book on the market for anyone from a beginner to a seasoned programmer using Perl almost daily.”
–Bill Maples, network design tools and automations analyst, Fidelity National Information Services
“We are rewriting our intro to OS scripting course and selected your text for the course. It’s an exceptional book. The last time we considered it was a few years ago (second edition). The debugging and system administrator chapters at the end nailed it for us.”
–Jim Leone, Ph.D., professor and chair, Information Technology, Rochester Institute of Technology
“Quigley’s book acknowledges a major usage of PHP. To write some kind of front end user interface program that hooks to a back end MySQL database. Both are free and open source, and the combination has proved popular. Especially where the front end involves making an HTML web page with embedded PHP commands. “Not every example involves both PHP and MySQL. Though all examples have PHP. Many demonstrate how to use PHP inside an HTML file. Like writing user-defined functions, or nesting functions. Or making or using function libraries. The functions are a key idea in PHP, that take you beyond the elementary syntax. Functions also let you gainfully use code by other PHP programmers. Important if you are part of a coding group that has to divide up the programming effort in some manner.”
–Dr. Wes Boudville, CTO, Metaswarm Inc.
The World’s Easiest Perl Tutorial–Fully Updated!
Perl by Example, Fourth Edition, is the easiest, most hands-on way to learn Perl. Legendary Silicon Valley programming instructor Ellie Quigley has thoroughly updated her classic to deliver the skills and information today’s Perl users need most–including all-new coverage of MySQL database programming and a Perl QuickStart designed to get experienced users up and running fast.
Quigley illuminates every technique with focused, classroom-tested code examples, detailed line-by-line explanations, and real program output. This exceptionally clear, easy-to-understand book takes you from your first Perl script to database-driven applications. It’s the only Perl book you’ll ever need!
New in this edition:
Perl programming QuickStart: makes first-time Perl programmers productive in just twenty pages
All-new chapter on using the Perl DBI with the MySQL database–plus an easy SQL primer to quickly get you started programming any database
New introductions to Perl in biology (bioinformatics) and to mod_perl, a Perl interpreter embedded in the Apache server, which allows you to create fast, dynamic content; manage the Apache server; authenticate users; and much more
Completely updated:
Includes many new and completely rewritten code examples
Contains fully revised CGI coverage for building dynamic Web sites with Perl
Covers modern Perl 5.8 concepts and principles–and provides a great foundation for Perl 6
More than 30,000 sysadmins, power users, and developers have used previous editions of Perl by Example
to become expert Perl programmers. With Perl by Example, Fourth Edition, you can, too–even if you’re
completely new to Perl. After you’ve become an expert, you’ll turn to this book constantly as the best
source for reliable answers, solutions, and code.
About the CD-ROM:
The CD-ROM includes all code and files for this book’s hundreds of example scripts.
Regular Expressions in Perl—Pattern Matching
Preface xxvii
Chapter 1: The Practical Extraction and Report Language 1
1.1 What Is Perl? 1
1.2 What Is an Interpreted Language? 2
1.3 Who Uses Perl? 3
1.4 Where to Get Perl 5
1.5 What Is CPAN? 9
1.6 Perl Documentation 10
1.7 What You Should Know 12
1.8 What’s Next? 12
Chapter 2: Perl Quick Start 13
2.1 Quick Start, Quick Reference 13
2.2 Chapter Summary 29
2.3 What’s Next? 29
Chapter 3: Perl Scripts 31
3.1 Script Setup 31
3.2 The Script 32
3.3 Perl at the Command Line 39
3.4 What You Should Know 43
3.5 What’s Next? 43
Chapter 4: Getting a Handle on Printing 45
4.1 The Filehandle 45
4.2 Words 45
4.3 The print Function 46
4.4 The printf Function 59
4.5 What You Should Know 66
4.6 What’s Next? 66
Chapter 5: What’s in a Name 69
5.1 About Perl Variables 69
5.2 Scalars, Arrays, and Hashes 77
5.3 Reading from STDIN 94
5.4 Array Functions 100
5.5 Hash (Associative Array) Functions 118
5.6 More Hashes 128
5.7 What You Should Know 132
5.8 What’s Next? 133
Chapter 6: Where’s the Operator? 137
6.1 About Perl Operators 137
6.2 Mixing Data Types 138
6.3 Precedence and Associativity 139
6.4 What You Should Know 168
6.5 What’s Next? 168
Chapter 7: If Only, Unconditionally, Forever 171
7.1 Control Structures, Blocks, and Compound Statements 171
7.2 Repetition with Loops 177
7.3 What You Should Know 200
7.4 What’s Next? 200
Chapter 8: Regular Expressions–Pattern Matching 203
8.1 What Is a Regular Expression? 203
8.2 Expression Modifiers and Simple Statements 204
8.3 Regular Expression Operators 210
8.4 What You Should Know 232
8.5 What’s Next? 232
Chapter 9: Getting Control–Regular Expression Metacharacters 235
9.1 Regular Expression Metacharacters 235
9.2 Unicode 281
9.3 What You Should Know 283
9.4 What’s Next? 283
Chapter 10: Getting a Handle on Files 285
10.1 The User-Defined Filehandle 285
10.2 Passing Arguments 310
10.3 File Testing 319
10.4 What You Should Know 321
10.5 What’s Next? 322
Chapter 11: How Do Subroutines Function? 325
11.1 Subroutines/Functions 325
11.2 Passing Arguments 330
11.3 Call-by-Reference 344
11.4 What You Should Know 358
11.5 What’s Next? 359
Chapter 12: Modularize It, Package It, and Send It to the Library! 363
12.1 Packages and Modules 363
12.2 The Standard Perl Library 370
12.3 Modules from CPAN 390
12.4 What You Should Know 398
12.5 What’s Next? 398
Chapter 13: Does This Job Require a Reference? 401
13.1 What Is a Reference? What Is a Pointer? 401
13.2 What You Should Know 420
13.3 What’s Next? 420
Chapter 14: Bless Those Things! (Object-Oriented Perl) 423
14.1 The OOP Paradigm 423
14.2 Classes, Objects, and Methods 425
14.3 Anonymous Subroutines, Closures, and Privacy 453
14.4 Inheritance 460
14.5 Public User Interface–Documenting Classes 474
14.6 Using Objects from the Perl Library 479
14.7 What You Should Know 484
14.8 What’s Next? 485
Chapter 15: Those Magic Ties and DBM Stuff 493
15.1 Tying Variables to a Class 493
15.2 DBM Files 505
15.3 What You Should Know 512
15.4 What’s Next? 512
Chapter 16: CGI and Perl: The Hyper Dynamic Duo 513
16.1 Static and Dynamic Web Pages 513
16.2 How It all Works 516
16.3 Creating a Web Page with HTML 522
16.4 How HTML and CGI Work Together 526
16.5 Getting Information Into and Out of the CGI Script 531
16.6 CGI and Forms 535
16.7 The CGI.pm Module 559
Chapter 17: Perl Meets MySQL–A Perfect Connection 603
17.1 Introduction 603
17.2 What Is a Relational Database? 604
17.3 Getting Started with MySQL 613
17.4 What Is the Perl DBI? 638
17.5 Statements that Don’t Return Anything 666
17.6 Transactions 670
17.7 Using CGI and the DBI to Select and Display Entries 672
17.8 What’s Left? 678
17.9 What You Should Know 679
17.10What’s Next? 679
Chapter 18: Interfacing with the System 685
18.1 System Calls 685
18.2 Processes 721
18.3 Other Ways to Interface with the Operating System 747
18.4 Error Handling 755
18.5 Signals 760
18.6 What You Should Know 764
18.7 What’s Next? 765
Chapter 19: Report Writing with Pictures 767
19.1 The Template 767
19.2 What You Should Know 783
19.3 What’s Next? 783
Chapter 20: Send It Over the Net and Sock It to ’Em! 785
20.1 Networking and Perl 785
20.2 Client /Server Model 785
20.3 Network Protocols (TCP/IP) 785
20.4 Network Addressing 787
20.5 Sockets 794
20.6 Client /Server Programs 800
20.7 The Socket.pm Module 808
20.8 What You Should Know 813
Appendix A: Perl Built-ins, Pragmas, Modules, and the Debugger 815
A.1 Perl Functions 815
A.2 Special Variables 845
A.3 Perl Pragmas 848
A.4 Perl Modules 850
A.5 Command-Line Switches 856
A.6 Debugger 858
Appendix B: SQL Language Tutorial 863
B.1 What Is SQL? 863
B.2 SQL Data Manipulation Language (DML) 871
B.3 SQL Data Definition Language 888
B.4 SQL Functions 901
B.5 Appendix Summary 910
B.6 What You Should Know 910
Appendix C: Perl and Biology 915
C.1 What Is Bioinformatics? 915
C.2 A Little Background on DNA 915
C.3 Some Perl Examples 917
C.4 What Is BioPerl? 919
C.5 Resources 923
Appendix D: Power and Speed: CGI and mod_perl 925
D.1 What Is mod_perl? 925
D.2 The mod_perl Web Site 927
D.3 Installing mod_perl 928
D.4 Resources 938
Index 939