Perl Best Practices

Standards and Styles for Developing Maintainable Code

Perl Best Practices

Many programmers code by instinct, relying on convenient habits or a "style" they picked up early on. They aren't conscious of all the choices they make, like how they format their source, the names they use for variables, or the kinds of loops they use. They're focused entirely on problems they're solving, solutions they're creating, and algorithms they're implementing. So they write code in the way that seems natural, that happens intuitively, and that feels good. But if you're serious about your profession, intuition isn't enough. Perl Best Practices author Damian Conway explains that rules, conventions, standards, and practices not only help programmers communicate and coordinate with one another, they also provide a reliable framework for thinking about problems, and a common language for expressing solutions. This is especially critical in Perl, because the language is designed to offer many ways to accomplish the same task, and consequently it supports many incompatible dialects. With a good dose of Aussie humor, Dr. Conway (familiar to many in the Perl community) offers 256 guidelines on the art of coding to help you write better Perl code--in fact, the best Perl code you possibly can. The guidelines cover code layout, naming conventions, choice of data and control structures, program decomposition, interface design and implementation, modularity, object orientation, error handling, testing, and debugging. They're designed to work together to produce code that is clear, robust, efficient, maintainable, and concise, but Dr. Conway doesn't pretend that this is the one true universal and unequivocal set of best practices. Instead, Perl Best Practices offers coherent and widely applicable suggestions based on real-world experience of how code is actually written, rather than on someone's ivory-tower theories on howsoftware ought to be created. Most of all, Perl Best Practices offers guidelines that actually work, and that many developers around the world are already using. Much like Perl itself, these guidelines are about helping you to get your job done, without getting in the way. Praise for Perl Best Practices from Perl community members: "As a manager of a large Perl project, I'd ensure that every member of my team has a copy of Perl Best Practices on their desk, and use it as the basis for an in-house style guide."-- Randal Schwartz "There are no more excuses for writing bad Perl programs. All levels of Perl programmer will be more productive after reading this book."-- Peter Scott "Perl Best Practices will be the next big important book in the evolution of Perl. The ideas and practices Damian lays down will help bring Perl out from under the embarrassing heading of "scripting languages". Many of us have known Perl is a real programming language, worthy of all the tasks normally delegated to Java and C++. With Perl Best Practices, Damian shows specifically how and why, so everyone else can see, too."-- Andy Lester "Damian's done what many thought impossible: show how to build large, maintainable Perl applications, while still letting Perl be the powerful, expressive language that programmers have loved for years."-- Bill Odom "Finally, a means to bring lasting order to the process and product of real Perl development teams."-- Andrew Sundstrom "Perl Best Practices provides a valuable education in how to write robust, maintainable Perl, and is a definitive citation source when coaching other programmers."-- Bennett Todd"I've been teaching Perl for years, and find the same question keeps being asked: Where can I find a reference for writing reusable, maintainable Perl code? Finally I have a decent answer."-- Paul Fenwick"At last a well researched, well thought-out, comprehensive guide to Perl style. Instead of each of us developing our own, we can learn good practices from one of Perl's most prolific and experienced authors. I recommend this book to anyone who prefers getting on with the job rather than going back and fixing errors caused by syntax and poor style issues."-- Jacinta Richardson"If you care about programming in any language read this book. Even if you don't intend to follow all of the practices, thinking through your style will improve it."-- Steven Lembark"The Perl community's best author is back with another outstanding book. There has never been a comprehensive reference on high quality Perl coding and style until Perl Best Practices. This book fills a large gap in every Perl bookshelf."-- Uri Guttman

Writing Perl Modules for CPAN

Writing Perl Modules for CPAN

The author Sam Tregar tells programmers how best to use and contribute modules to the Open Source repository known as CPAN (Comprehensive Perl Archive Network).

Fedora 31 Essentials

Fedora 31 Essentials

Fedora 31 Essentials is designed to provide detailed information on the installation, use and administration of the Fedora 31 distribution. For beginners, the book covers topics such as operating system installation, the basics of the GNOME desktop environment, configuring email and web servers and installing packages and system updates using App Streams. Additional installation topics such as dual booting with Microsoft Windows are also covered, together with all important security topics such as configuring a firewall and user and group administration. For the experienced user, topics such as remote desktop access, the Cockpit web interface, logical volume management (LVM), disk partitioning, swap management, KVM virtualization, Secure Shell (SSH), Linux Containers and file sharing using both Samba and NFS are covered in detail to provide a thorough overview of this enterprise class operating system.

Mastering Perl for Bioinformatics

Perl Programming for Bioinformatics

Mastering Perl for Bioinformatics

Historically, programming hasn't been considered a critical skill for biologists. But now, with access to vast amounts of biological data contained in public databases, programming skills are increasingly in strong demand in biology research and development. Perl, with its highly developed capacities in string handling, text processing, networking, and rapid prototyping, has emerged as the programming language of choice for biological data analysis.Mastering Perl for Bioinformatics covers the core Perl language and many of its module extensions, presenting them in the context of biological data and problems of pressing interest to the biological community. This book, along with Beginning Perl for Bioinformatics, forms a basic course in Perl programming. This second volume finishes the basic Perl tutorial material (references, complex data structures, object-oriented programming, use of modules--all presented in a biological context) and presents some advanced topics of considerable interest in bioinformatics.The range of topics covered in Mastering Perl for Bioinformatics prepares the reader for enduring and emerging developments in critical areas of bioinformatics programming such as: Gene finding String alignment Methods of data storage and retrieval (SML and databases) Modeling of networks (graphs and Petri nets) Graphics (Tk) Parallelization Interfacing with other programming languages Statistics (PDL) Protein structure determination Biological models of computation (DNA Computers) Biologists and computer scientists who have conquered the basics of Perl and are ready to move even further in their mastery of this versatile language will appreciate the author's well-balanced approach to applying Perl's analytical abilities to the field of bioinformatics. Full of practical examples and real-world biological problem solving, this book is a must for any reader wanting to move beyond beginner level Perl in bioinformatics.

CGI Programming with Perl

Creating Dynamic Web Pages

CGI Programming with Perl

Programming on the Web today can involve any of several technologies, but the Common Gateway Interface (CGI) has held its ground as the most mature method--and one of the most powerful ones--of providing dynamic web content. CGI is a generic interface for calling external programs to crunch numbers, query databases, generate customized graphics, or perform any other server-side task. There was a time when CGI was the only game in town for server-side programming; today, although we have ASP, PHP, Java servlets, and ColdFusion (among others), CGI continues to be the most ubiquitous server-side technology on the Web.CGI programs can be written in any programming language, but Perl is by far the most popular language for CGI. Initially developed over a decade ago for text processing, Perl has evolved into a powerful object-oriented language, while retaining its simplicity of use. CGI programmers appreciate Perl's text manipulation features and its CGI.pm module, which gives a well-integrated object-oriented interface to practically all CGI-related tasks. While other languages might be more elegant or more efficient, Perl is still considered the primary language for CGI.CGI Programming with Perl, Second Edition, offers a comprehensive explanation of using CGI to serve dynamic web content. Based on the best-selling CGI Programming on the World Wide Web, this edition has been completely rewritten to demonstrate current techniques available with the CGI.pm module and the latest versions of Perl. The book starts at the beginning, by explaining how CGI works, and then moves swiftly into the subtle details of developing CGI programs.Topics include: Incorporating JavaScript for form validation Controlling browser caching Making CGI scripts secure in Perl Working with databases Creating simple search engines Maintaining state between multiple sessions Generating graphics dynamically Improving performance of your CGI scripts

Perl 6 Essentials

Perl 6 Essentials

Internally, however, there are still kinks and stumbling blocks that developers need to sidestep, long-abandoned features maintained only for backward compatibility, misdirected phrasings that hinder more intuitive syntax structures, and a cacophony of modules that sometimes work well together, but occasionally don't. Perl 5 continues to have a strong following devoted to its development, but in the meantime, a core group of Perl developers has begun work on Perl 6, a complete rewrite of the Perl language. While Perl's creative philosophy and common-sense syntax are sure to remain in Perl 6, everything else in the language is being reexamined and re-created.

Perl 6 and Parrot Essentials

Perl 6 and Parrot Essentials

This look at Perl 6 uncovers developments in Parrot - the interpreter engine that will execute code written in the new Perl 6 language and the most revolutionary change in the language itself - Apocalypse 12 on objects.

Mastering Algorithms with Perl

Practical Programming Through Computer Science

Mastering Algorithms with Perl

Many programmers would love to use Perl for projects that involve heavy lifting, but miss the many traditional algorithms that textbooks teach for other languages. Computer scientists have identified many techniques that a wide range of programs need, such as: Fuzzy pattern matching for text (identify misspellings!) Finding correlations in data Game-playing algorithms Predicting phenomena such as Web traffic Polynomial and spline fitting Using algorithms explained in this book, you too can carry out traditional programming tasks in a high-powered, efficient, easy-to-maintain manner with Perl.This book assumes a basic understanding of Perl syntax and functions, but not necessarily any background in computer science. The authors explain in a readable fashion the reasons for using various classic programming techniques, the kind of applications that use them, and -- most important -- how to code these algorithms in Perl.If you are an amateur programmer, this book will fill you in on the essential algorithms you need to solve problems like an expert. If you have already learned algorithms in other languages, you will be surprised at how much different (and often easier) it is to implement them in Perl. And yes, the book even has the obligatory fractal display program.There have been dozens of books on programming algorithms, some of them excellent, but never before has there been one that uses Perl.The authors include the editor of The Perl Journal and master librarian of CPAN; all are contributors to CPAN and have archived much of the code in this book there."This book was so exciting I lost sleep reading it." Tom Christiansen

Perl 5 Complete

Perl 5 Complete

Perl is the dominant scripting language for the World Wide Web. Scripting languages build interactivity into a Website--like shopping carts, contests, forms, etc. This book is the complete reference to existing Perl technologies and to the new Perl5 compiler provided on the CD-ROM.