Perl by Example

The World’s Easiest Perl 5 Tutorial—Updated for Today’s Applications and “Modern Perl” Best Practices

 

“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. I still think it is the best Perl book on the market for anyone—beginner or seasoned programmer—who uses Perl daily.”

Bill Maples, Enterprise Network Support, Fidelity National Information Services

 

Perl by Example, Fifth Edition, is the proven, easy way to master Perl 5 programming. Legendary Silicon Valley programming instructor Ellie Quigley has fully updated and focused her classic text on today’s key Perl applications, especially automation, testing, data extraction, and legacy code maintenance. She has also revised this edition to reflect “modern Perl” practices that have emerged since Perl 5.10.

 

Quigley illuminates every technique with focused, classroom-tested code examples. For each example, she shows you code, input, and output, and provides detailed, line-by-line explanations of how the code generates that output. And her coverage is comprehensive, from basic syntax to regular expression handling, files, references, objects, working with databases, and much more…plus appendices that contain a complete list of functions and definitions, command-line switches, special variables, and popular modules.

 

New in This Edition

 

• Modern Perl approaches to using data types, operators, conditions, subroutines, packages, modules, references, pointers, files, objects, and more

• Many new examples, covering automation, testing, and data extraction

• A tutorial on writing object-oriented Perl with the Moose object system

• An introduction to Dancer, a powerful web application framework designed to replace CGI

• Updated code examples throughout

 

More than 50,000 sysadmins, power users, and developers have used this book’s previous editions to become expert Perl programmers, and you can, too–even if you’re completely new to Perl. Then, once you’re an expert, you’ll routinely return to this practical guide as the best source for reliable answers, solutions, and code. A more focused, quicker read than ever, this clear and practical guide will take you from your first Perl script to advanced applications. It’s the only Perl text you’ll need.

 

Ellie Quigley has taught scripting in Silicon Valley for more than twenty-five years. Her Perl and shell programming classes at the University of California, Santa Cruz Extension are part of Silicon Valley lore. Her other best-selling Prentice Hall books include UNIX® Shells by Example, Fourth Edition; PHP and MySQL by Example (with Marko Gargenta); and JavaScript by Example. A major player in developing UCSC’s Silicon Valley Extension program, she has created and customized courses for pioneering firms, including Xilinx, NetApp, Yahoo, and Juniper.

1124309005
Perl by Example

The World’s Easiest Perl 5 Tutorial—Updated for Today’s Applications and “Modern Perl” Best Practices

 

“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. I still think it is the best Perl book on the market for anyone—beginner or seasoned programmer—who uses Perl daily.”

Bill Maples, Enterprise Network Support, Fidelity National Information Services

 

Perl by Example, Fifth Edition, is the proven, easy way to master Perl 5 programming. Legendary Silicon Valley programming instructor Ellie Quigley has fully updated and focused her classic text on today’s key Perl applications, especially automation, testing, data extraction, and legacy code maintenance. She has also revised this edition to reflect “modern Perl” practices that have emerged since Perl 5.10.

 

Quigley illuminates every technique with focused, classroom-tested code examples. For each example, she shows you code, input, and output, and provides detailed, line-by-line explanations of how the code generates that output. And her coverage is comprehensive, from basic syntax to regular expression handling, files, references, objects, working with databases, and much more…plus appendices that contain a complete list of functions and definitions, command-line switches, special variables, and popular modules.

 

New in This Edition

 

• Modern Perl approaches to using data types, operators, conditions, subroutines, packages, modules, references, pointers, files, objects, and more

• Many new examples, covering automation, testing, and data extraction

• A tutorial on writing object-oriented Perl with the Moose object system

• An introduction to Dancer, a powerful web application framework designed to replace CGI

• Updated code examples throughout

 

More than 50,000 sysadmins, power users, and developers have used this book’s previous editions to become expert Perl programmers, and you can, too–even if you’re completely new to Perl. Then, once you’re an expert, you’ll routinely return to this practical guide as the best source for reliable answers, solutions, and code. A more focused, quicker read than ever, this clear and practical guide will take you from your first Perl script to advanced applications. It’s the only Perl text you’ll need.

 

Ellie Quigley has taught scripting in Silicon Valley for more than twenty-five years. Her Perl and shell programming classes at the University of California, Santa Cruz Extension are part of Silicon Valley lore. Her other best-selling Prentice Hall books include UNIX® Shells by Example, Fourth Edition; PHP and MySQL by Example (with Marko Gargenta); and JavaScript by Example. A major player in developing UCSC’s Silicon Valley Extension program, she has created and customized courses for pioneering firms, including Xilinx, NetApp, Yahoo, and Juniper.

47.99 In Stock
Perl by Example

Perl by Example

by Ellie Quigley
Perl by Example

Perl by Example

by Ellie Quigley

eBook

$47.99 

Available on Compatible NOOK devices, the free NOOK App and in My Digital Library.
WANT A NOOK?  Explore Now

Related collections and offers


Overview

The World’s Easiest Perl 5 Tutorial—Updated for Today’s Applications and “Modern Perl” Best Practices

 

“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. I still think it is the best Perl book on the market for anyone—beginner or seasoned programmer—who uses Perl daily.”

Bill Maples, Enterprise Network Support, Fidelity National Information Services

 

Perl by Example, Fifth Edition, is the proven, easy way to master Perl 5 programming. Legendary Silicon Valley programming instructor Ellie Quigley has fully updated and focused her classic text on today’s key Perl applications, especially automation, testing, data extraction, and legacy code maintenance. She has also revised this edition to reflect “modern Perl” practices that have emerged since Perl 5.10.

 

Quigley illuminates every technique with focused, classroom-tested code examples. For each example, she shows you code, input, and output, and provides detailed, line-by-line explanations of how the code generates that output. And her coverage is comprehensive, from basic syntax to regular expression handling, files, references, objects, working with databases, and much more…plus appendices that contain a complete list of functions and definitions, command-line switches, special variables, and popular modules.

 

New in This Edition

 

• Modern Perl approaches to using data types, operators, conditions, subroutines, packages, modules, references, pointers, files, objects, and more

• Many new examples, covering automation, testing, and data extraction

• A tutorial on writing object-oriented Perl with the Moose object system

• An introduction to Dancer, a powerful web application framework designed to replace CGI

• Updated code examples throughout

 

More than 50,000 sysadmins, power users, and developers have used this book’s previous editions to become expert Perl programmers, and you can, too–even if you’re completely new to Perl. Then, once you’re an expert, you’ll routinely return to this practical guide as the best source for reliable answers, solutions, and code. A more focused, quicker read than ever, this clear and practical guide will take you from your first Perl script to advanced applications. It’s the only Perl text you’ll need.

 

Ellie Quigley has taught scripting in Silicon Valley for more than twenty-five years. Her Perl and shell programming classes at the University of California, Santa Cruz Extension are part of Silicon Valley lore. Her other best-selling Prentice Hall books include UNIX® Shells by Example, Fourth Edition; PHP and MySQL by Example (with Marko Gargenta); and JavaScript by Example. A major player in developing UCSC’s Silicon Valley Extension program, she has created and customized courses for pioneering firms, including Xilinx, NetApp, Yahoo, and Juniper.


Product Details

ISBN-13: 9780133593044
Publisher: Pearson Education
Publication date: 01/02/2015
Sold by: Barnes & Noble
Format: eBook
Pages: 99998
File size: 55 MB
Note: This product may take a few minutes to download.
Age Range: 18 Years

About the Author

Ellie Quigley has taught scripting in Silicon Valley for more than twenty-five years. Her Perl and shell programming classes at the University of California, Santa Cruz Extension are part of Silicon Valley lore. Her other best-selling Prentice Hall books include UNIX® Shells by Example, Fourth Edition; PHP and MySQL by Example (with Marko Gargenta); and JavaScript by Example. A major player in developing UCSC’s Silicon Valley Extension program, she has created and customized courses for pioneering firms, including Xilinx, NetApp, Yahoo, and Juniper.

Read an Excerpt

You may wonder, why a new edition of Perl by Example? Perl 5 hasn’t really changed that much; in fact, it’s changed very little at all since the third edition of this book was published. And since Perl 6 hasn’t been officially released, why not wait? Well, consider this. Let’s say you bought a new Whirlpool washing machine six years ago. It’s running perfectly. But since then, the mounds of laundry washed by that machine have come and gone. Now you’re sporting a new trendy fashion, you have designer sheets and towels, and the detergent brand you use is hypoallergenic, nontoxic, and biodegradable, not available when you bought the washer. Even though Perl 5 has changed very little, the computer world has. It is always in a flux of new innovations, technologies, applications, and fads, and programs are being written to accommodate those changes. Whether analyzing data from the GenBank sequence database, writing applications for an iPhone, creating a personal blog on “myspace,” or adjusting to the changes in a new Vista version of Windows, some computer program is involved, and very possibly it is a Perl program. Whatever the case, we like to keep up with the times. This new edition of Perl by Example was written for just that purpose.

As we speak, I am teaching Perl at the UCSC1 extension in Sunnyvale, California, to a group of professionals coming from all around the Silicon Valley. I always ask at the beginning of a class, “So why do you want to learn Perl?” The responses vary from, “Our company has an auction site on the Web and I’m the webmaster. I need to use Perl and Apache to process our order information and send it to Oracle,” or “I work in a genetics research group at Stanford and have to sift through and analyze masses of data, and I heard that if I learn Perl, I won’t have to depend on programmers to do this,” or “I’m a UNIX/Linux system administrator and our company has decided that all admin scripts should be converted to Perl,” or “I just got laid off and heard that it’s an absolute must to have Perl on my resume.” And I am always amazed at the variety of people who show up: engineers, scientists, geneticists, meteorologists, managers, salespeople, programmers, techies, hardware guys, students, stockbrokers, administrators of all kinds, librarians, authors, bankers, artists—you name it. Perl does not exclude anyone. Perl is for everyone and it runs on everything.

No matter who you are, I think you’ll agree that a picture is worth a thousand words, and so is a good example. Perl by Example is organized to teach you Perl from scratch with examples of complete, succinct programs. Each line of a script example is numbered, and important lines are highlighted in bold. The output of the program is then displayed with line numbers corresponding to the script line numbers. Following the output is a separate explanation for each of the numbered lines. The examples are small and to the point for the topic at hand. Since the backbone of this book was used as a student guide to a Perl course, the topics are modularized. Each chapter builds on the previous one with a minimum of forward referencing and a logical progression from one topic to the next. There are exercises at the end of the chapters. You will find all of the examples on the CD at the back of the book. They have been thoroughly tested on a number of major platforms.

Perl by Example is not just a beginner’s guide but a complete guide to Perl. It covers many aspects of what Perl can do, from regular expression handling, to formatting reports, to interprocess communication. It will teach you about Perl and, in the process, a lot about UNIX and Windows. Since Perl was originally written on and for UNIX systems, some UNIX knowledge will greatly accelerate your learning curve, but it is not assumed that you are by any means a guru. Anyone reading, writing, or just maintaining Perl programs can greatly profit from this text.

Perl has a rich variety of functions for handling strings, arrays, the system interface, networking, and more. In order to understand how these functions work, background information concerning the hows, whys, and what-fors is provided before demonstrating functional sample programs. This eliminates continually wading through manual pages and other books to understand what is going on, what the arguments mean, and what the function actually does.

The appendices contain a complete list of functions and definitions, command-line switches, special variables, popular modules, and the Perl debugger; a bioinformatics tutorial to introduce BioPerl, and a tutorial covering mod_perl, the fast way to create server side Perl scripts that replace the need for the Common Gateway Interface.

I have been teaching for the past thirty years and am committed to understanding how people learn. Having taught Perl now for more than 14 years, all over the world, I find that many new Perlers get frustrated when trying to teach themselves how to program. Most people seem to learn best from succinct little examples and practice. So I wrote a book to help myself learn and to help my students, and now to help you. As Perl has grown, so have my books. This latest, fourth, edition includes a new chapter on Perl and DBI with MySQL, a revised chapter on Perl objects, and new examples and explanations for the rest of the chapters to keep things current and interesting. The appendix material has been revised to include BioPerl and mod_perl. In this book, you will not only learn Perl, but also save yourself a great deal of time. At least that’s what my students and readers have told me. You be the judge.

Note:
1. University of California, Santa Cruz.

Table of Contents

Preface xxv

 

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 6

1.5 Perl Documentation 9

1.6 What You Should Know 13

1.7 What’s Next? 13

 

Chapter 2: Perl Quick Start 15

2.1 Quick Start, Quick Reference 15

2.2 Chapter Summary 32

2.3 What’s Next? 32

 

Chapter 3: Perl Scripts 33

3.1 Getting Started 33

3.2 Filehandles 37

3.3 Variables (Where to Put Data) 37

3.4 Summing It Up 42

3.5 Perl Switches 44

3.6 What You Should Know 47

3.7 What’s Next? 47

Exercise 3 Getting with It Syntactically 48

 

Chapter 4: Getting a Handle on Printing 49

4.1 The Special Filehandles STDOUT, STDIN, STDERR 49

4.2 Words 51

4.3 The print Function 51

4.4 Fancy Formatting with the printf Function 69

4.5 What Are Pragmas? 74

4.6 What You Should Know 78

4.7 What’s Next? 79

Exercise 4 A String of Perls 79

 

Chapter 5: What’s In a Name? 81

5.1 More About Data Types 81

5.2 Scalars, Arrays, and Hashes 87

5.3 Array Functions 105

5.4 Hash (Associative Array) Functions 125

5.5 What You Should Know 140

5.6 What’s Next? 141

Exercise 5 The Funny Characters 141

 

Chapter 6: Where’s the Operator? 145

6.1 About Perl Operators—More Context 145

6.2 Mixing Types 148

6.3 Precedence and Associativity 149

6.4 What You Should Know 178

6.5 What’s Next? 179

Exercise 6 Operator, Operator 179

 

Chapter 7: If Only, Unconditionally, Forever 181

7.1 Control Structures, Blocks, and Compound Statements 182

7.2 Statement Modifiers and Simple Statements 188

7.3 Repetition with Loops 190

7.4 Looping Modifiers 202

7.5 What You Should Know 217

7.6 What’s Next? 217

Exercise 7 What Are Your Conditions? 218

 

Chapter 8: Regular Expressions—Pattern Matching 219

8.1 What Is a Regular Expression? 219

8.2 Modifiers and Simple Statements with Regular Expressions 221

8.3 Regular Expression Operators 225

8.4 What You Should Know 243

8.5 What’s Next? 243

Exercise 8 A Match Made in Heaven 244

 

Chapter 9: Getting Control—Regular Expression Metacharacters 245

9.1 The RegExLib.com Library 245

9.2 Regular Expression Metacharacters 247

9.3 Unicode 290

9.4 What You Should Know 294

9.5 What’s Next? 295

Exercise 9 And the Search Goes On . . . 295

 

Chapter 10: Getting a Handle on Files 297

10.1 The User-Defined Filehandle 297

10.2 Reading from STDIN 307

10.3 Passing Arguments 333

10.4 File Testing 342

10.5 What You Should Know 344

10.6 What’s Next? 344

Exercise 10 Getting a Handle on Things 345

 

Chapter 11: How Do Subroutines Function? 347

11.1 Subroutines/Functions 348

11.2 Passing Arguments and the @_ Array 352

11.3 What You Should Know 373

11.4 What’s Next? 373

Exercise 11 I Can’t Seem to Function Without Subroutines 374

 

Chapter 12: Does This Job Require a Reference? 377

12.1 What Is a Reference? 377

12.2 What You Should Know 404

12.3 What’s Next? 404

Exercise 12 It’s Not Polite to Point! 405

 

Chapter 13: Modularize It, Package It, and Send It to the Library! 407

13.1 Before Getting Started 407

13.2 The Standard Perl Library 417

13.3 Modules from CPAN 436

13.4 Using Perlbrew and CPAN Minus 441

13.5 What You Should Know 444

13.6 What’s Next? 445

Exercise 13 I Hid All My Perls in a Package 445

 

Chapter 14: Bless Those Things! (Object-Oriented Perl) 447

14.1 The OOP Paradigm 447

14.2 Perl Classes, Objects, and Methods—Relating to the Real World 450

14.3 Anonymous Subroutines, Closures, and Privacy 478

14.4 Inheritance 484

14.5 Plain Old Documentation—Documenting a Module 501

14.6 Using Objects from the Perl Library 508

14.7 What You Should Know 512

14.8 What’s Next? 513

Exercise 14 What’s the Object of This Lesson? 513

 

Chapter 15: Perl Connects with MySQL 519

15.1 Introduction 519

15.2 What Is a Relational Database? 520

15.3 Getting Started with MySQL 530

15.4 What Is the Perl DBI? 556

15.5 Statements That Don’t Return Anything 579

15.6 Transactions 583

15.7 What’s Left? 590

15.8 What You Should Know 591

15.9 What’s Next? 591

Exercise 15 Practicing Queries and Using DBI 592

 

Chapter 16: Interfacing with the System 595

16.1 System Calls 595

16.2 Processes 629

16.3 Other Ways to Interface with the Operating System 658

16.4 Error Handling 664

16.5 Signals and the %SIG Hash 669

16.6 What You Should Know 673

Exercise 16 Interfacing with the System 674

 

Appendix A: Perl Built-ins, Pragmas, Modules, and the Debugger 675

A.1 Perl Functions 675

A.2 Special Variables 705

A.3 Perl Pragmas 708

A.4 Perl Modules 710

A.5 Command-Line Switches 716

A.6 Debugger 718

 

Appendix B: SQL Language Tutorial 723

B.1 What Is SQL? 723

B.2 SQL Data Manipulation Language (DML) 731

B.3 SQL Data Definition Language 748

B.5 Appendix Summary 770

B.6 What You Should Know 770

Exercise B Do You Speak My Language? 771

 

Appendix C: Introduction to Moose (A Postmodern Object System for Perl 5) 775

C.1 Getting Started 775

C.2 The Constructor 776

C.3 The Attributes 776

C.4 What About Moo? 795

C.5 Appendix Summary 796

C.6 References 796

 

Appendix D: Perlbrew, CPAN, and cpanm 797

D.1 CPAN and @INC 797

D.2 cpanm 802

D.3 Perlbrew 803

D.4 Caveats: C Dependencies 805

D.5 Windows 806

 

Appendix E: Dancing with Perl 807

E.1 A New Dancer App 808

Exercise E May I Have This Dance? 829

 

Index 831

Preface

PREFACE: About the Author


Ellie Quigley is president of Learning Enterprises, LE, a small training/consulting company specializing in teaching UNIX related subjects and writing customized classes for on-site training. The original version of Perl by Example was designed as a Perl Programming class for the University of California, Extension, Santa Cruz, complete with training guide and exercises. Due to the success of the class, this book evolved. She has also authored UNIX Shells by Example, published by Prentice Hall last year. Any comments or questions can be forwarded to Ellie Quigley at Learning Enterprises by e-mail: shellieq@netcom.com.


Acknowledgments


I would like to send a special appreciation to Mark Houser, a system administration instructor for Remedy Corporation. Mark, with an MS in computer science, enjoys "extending his systems beyond the ordinary" with tools like Perl. He has always been there to answer questions, and he donated his taintperl database application in Appendix B. Mark's email address is mark.houser@EBay.Sun.COM.
I also owe a great deal to Deac Lancaster, a true scholar, co-worker, and good friend. While working for Sun Education, Deac spent many an evening after a long teaching day to guide me patiently through the workings of sockets, message queues, and semaphores. He loaned me his demo C programs, and together we re-wrote them in Perl for this book. Deac is now teaching at Remedy Corporation. Thanks, Deac! John Nouveaux, from Nouveaux Consulting, Santa Rosa, California, has also contributed a number of his Perl programs for the Appendix B in this book. John, an expert networkprogrammerand system administrator, is a consultant and a dynamic teacher, specializing in connectivity issues using tcp/ip and the Internet.
Thanks also to Steve Hanson for his system administration work and to George Williams for compiling the CD-ROM and setting up the Web server.
Richard Evans, from Sun Microsystems, volunteered his time to test the examples in this book and offered helpful suggestions on how to improve them. Thank you, Richard.
Of course, appreciation to my editors, Mark Taub and Patti Guerrieri, for teaching me about the book business and patiently awaiting overdue chapters and correction pages. And to Roberta Harvey, from RAH Consulting, for her technical review and valuable criticism.
Thanks to Perl pioneers Larry Wall and Randal L. Schwartz, authors of the following books: Learning Perl by Randal L. Schwartz and Perl Programming by Larry Wall and Randal L. Schwartz.
And last, but not least, a huge thanks to all of my students out there who helped me learn Perl and kept it fun.


Preface


A picture is worth a thousand words, and so is a good example. Perl by Example is organized to teach you Perl from scratch with examples of complete succinct programs. Each line of a script sample is numbered, and important lines are highlighted. The output of the program is then displayed with numbers corresponding to the script numbers. Following the output is a separate explanation for each of the numbered lines. The examples are small and to the point for the topic at hand. Since the backbone of this book was used as a student guide to Perl, the topics are modularized. Each module builds on the previous one with a minimum of forward referencing and a logical progression from one topic to the next.
Perl by Example is not just a beginner's guide, but a complete guide to Perl. It covers many aspects of what Perl can do, from regular expression handling, to formatting reports, to interprocess communication. It will teach you about Perl and, in the process, a lot about UNIX. Although some UNIX knowledge will greatly accelerate your learning path, it is not assumed that you are a guru. Anyone reading, writing, or just maintaining Perl programs can greatly profit from this text. Topics such as networking, system calls, IPC, and CGI are designed to save the time it takes to figure out how the functions work, what libraries are needed, and the correct syntax, etc. Now, in this second edition, Perl5 objects and references have been added, and since Perl is the standard for writing CGI scripts for the Internet, there is a chapter to get you started writing your own dynamic Web pages.
Perl has a rich variety of functions for handling strings, arrays, the system interface, networking, and more. In order to understand how these functions work, background information concerning the how's, why's, and what for's is provided before demonstrating sample programs that function. This eliminates constantly wading through manual pages and other UNIX books to understand what is going on, what the arguments mean, and what the function actually does.
The Appendices contain a complete list of functions and definitions, command line switches, debugging options, special variables, Perl translators and sample scripts, including a fully functional, annotated Perl program using taintperl and interfacing with a database application.
I have been teaching now for the past 30 years and am committed to understanding how people learn. Having taught Perl now for over a year, I find that many new Perlers get frustrated when trying to teach themselves how to program in Perl. I, too, experienced frustration when first tackling Perl. So I wrote a book to help myself learn and to help my students, and now to help you. In my book you will not only learn Perl, you will also save yourself a great deal of time.
From the B&N Reads Blog

Customer Reviews