A Very Short Course by Randal L. Schwartz Stonehenge Consulting Services Version 1.2.1 (5/13/99)[S]

Total Page:16

File Type:pdf, Size:1020Kb

A Very Short Course by Randal L. Schwartz Stonehenge Consulting Services Version 1.2.1 (5/13/99)[S] STONEHENGE CONSULTING SERVICES 4470 SW Hall Suite 107 Beaverton, OR 97005 (503) 777-0095 TM Reducing Business Risk using Perl a very short course by Randal L. Schwartz Stonehenge Consulting Services Version 1.2.1 (5/13/99)[S] Copyright ©1999 by Randal L. Schwartz, Stonehenge Consulting Services, Inc. Page 1 of 1 STONEHENGE CONSULTING SERVICES 4470 SW Hall Suite 107 Beaverton, OR 97005 (503) 777-0095 TM Table of Contents Introduction 2 Use CGI.pm’s function imports, not object interface . 21 What this course is about . 3 Reduce duplicated code . 22 Keep global variable usage to a minimum. 23 Part One: Keep global variable usage to a minimum (cont’d). 24 using Perl instead of other things 4 Warnings . 25 What is Perl? . 5 Multiple writers must be coordinated . 26 Who uses Perl?. 6 Use Socket.pm, not sys/socket.ph . 27 Purpose of Perl. 7 Use IO::Socket::INET, not roll-your-own socket stuff . 28 Availability . 8 Use LWP and Net::*, not roll-your-own standard protocol stuff . 29 Support. 9 Always check return values . 30 Books . 10 Don’t leave dead children lying about. 31 Basic concepts . 11 Another anti-zombie solution—the “double fork” . 32 Some brief explained examples . 12 Document your code . 33 Perl as Glue . 13 Use debugging code, controlled by a global variable . 34 Optimized for “90% text, 10% something else” . 14 See perlstyle for additional ideas . 35 Perl supports “programming in the large” . 15 Taint checks . 36 Good books and courses available. 16 Inputs that are tainted. 37 Tainting is sticky . 38 Part Two: Actions that are dangerous. 39 use Perl correctly 17 Other dangerous actions. 40 Y2K . 18 No need for shells to launch children . 41 The only Perl is “Perl version 5” . 19 Coding to avoid the shell . 42 Use CGI.pm (not cgi-lib.pl). 20 Coding to avoid forking. 43 Page 1 of 2 STONEHENGE CONSULTING SERVICES 4470 SW Hall Suite 107 Beaverton, OR 97005 (503) 777-0095 TM CGI Security—Hidden fields. 44 Don't put sensitive data in the GET URL . 45 Don’t count on REFERER. 46 Don't presume anything about the execution environment . 47 The HTTP “Username” . 48 Don’t use /bin/mail or /bin/mailx to send mail . 49 Use a valid return address when sending mail. 50 Writing to STDERR. 51 Failures should never reveal internal information . 52 Throw away bad books . 53 Get good support for advanced technology . 54 Conclusion 55 Questions and answers. 56 Page 2 of 2 STONEHENGE CONSULTING SERVICES 4470 SW Hall Suite 107 Beaverton, OR 97005 (503) 777-0095 TM Reducing Business Risk using Perl a very short course by Randal L. Schwartz Stonehenge Consulting Services Version 1.2.1 (5/14/99)[S] Copyright ©1999 by Randal L. Schwartz, Stonehenge Consulting Services, Inc. Page 1 of 56 STONEHENGE CONSULTING SERVICES 4470 SW Hall Suite 107 Beaverton, OR 97005 (503) 777-0095 TM Introduction Page 2 of 56 STONEHENGE CONSULTING SERVICES 4470 SW Hall Suite 107 Beaverton, OR 97005 (503) 777-0095 TM What this course is about • “Reducing Business Risk Using Perl” • 1. In order to reduce the risk and uncertainty around your security issues • 2. In order to achieve your business objectives • 3. In order to increase the certainty that your employees will be productive • Question—Do I mean “Use Perl instead of other things” or “Use Perl correctly”? • Answer—Yes! • First half will cover “Why Perl” • Second half will cover “How Perl” • Who are you? Engineers and Engineering Managers that are using (or considering using) Perl for system administration, toolsmithing, web applications, end-user applications, or quality assurance. • What will you get? More educated about motivations for using Perl, as well as the risks of not using Perl effectively. Page 3 of 56 STONEHENGE CONSULTING SERVICES 4470 SW Hall Suite 107 Beaverton, OR 97005 (503) 777-0095 TM Part One: using Perl instead of other things Page 4 of 56 STONEHENGE CONSULTING SERVICES 4470 SW Hall Suite 107 Beaverton, OR 97005 (503) 777-0095 TM What is Perl? • Invented and still owned by Larry Wall (author of rn and patch) • Larry is trained as a linguist, not a computer scientist—understands how people process information • First release, 1987 (older than the Web!) • Available under a zero-cost license • Has been embedded or bundled with commercial products (again, no cost) • Source code is available • Originated in Unix, but ported to many architectures • In particular, the Windows NT/95/98 port has been extended to access nearly all OS functions • And the Mac version likewise • Large user community, estimated at 2 million, with 200 new programmers per day • Not tied to a particular vendor’s idea of “this year’s best scripting language” Page 5 of 56 STONEHENGE CONSULTING SERVICES 4470 SW Hall Suite 107 Beaverton, OR 97005 (503) 777-0095 TM Who uses Perl? • Stonehenge client list includes: ADP, Allen Bradley (Rockwell Automation), Allied-Signal, American Online, Arco (Anchorage), Boeing (and Boeing Computing Services), Cisco Systems, Cray Research, Dow Chemical, Dynamic Web Enterprises, Genentech, Hewlett-Packard (Corvallis, Cupertino), Intel (Hillsboro, Folsom), Intelsat, Interactive Systems, Lehman Bros., MIPS, Matthew-Bender, Mentor Graphics (UK), Morgan Stanley, Motorola (Austin, Chicago, Phoenix, Fort Worth), NASA/Ames, NASA/JPL (the first real home of Perl :-), Network Equipment Technologies, Nokia, Octel, Pyramid, Qualcomm, Rational Software Corp, SCT Corporation, Shell Systems International, Silicon Graphics, Silicon Systems (Orange County, Santa Cruz), State Farm Insurance, Texaco, Union Bank of Switzerland, United States Army, University of Buffalo (staff), Washington Post "dot Com" (Digital Ink),World Bank • Other notables: Yahoo, Altavista, Dejanews, Filepile, Internet Movie Database, etc etc Page 6 of 56 STONEHENGE CONSULTING SERVICES 4470 SW Hall Suite 107 Beaverton, OR 97005 (503) 777-0095 TM Purpose of Perl • Data slogging, process management, generic tool box for Unix (“duct-tape of the Internet”1) • Fills the gap between C/Java/C++ programming (usually hard and ugly, but fast and unlimited) and shell programming (slow, hard, ugly, and limited)—Perl is easy, kind of ugly, mostly fast, and nearly unlimited • Very High Level Language (code is more dense, therefore faster to code, shorter to debug) • Amazingly much more portable than any C/C++/Java program or shell program • Not a complete replacement for C2 but durn near close • Not for writing distributed proprietary code • Good for one-offs, and long and extensive hacking, and even prototyping eventual C/C++/Java programs • Many features designed to make large programs easy 1. Hassan Schroeder of Sun Microsystems, as quoted in http://www.webdeveloper.com/spring96/duke.html 2. “I use C myself, occasionally”—Larry Wall Page 7 of 56 STONEHENGE CONSULTING SERVICES 4470 SW Hall Suite 107 Beaverton, OR 97005 (503) 777-0095 TM Availability • Everywhere (like Elvis sightings) • Released under the GNU Copyleft, or Larry’s Artistic License, whichever you like • Source code, and lots more, at any Comprehensive Perl Archive Network (CPAN) site • Nearest CPAN site can be located via http://www.perl.com/CPAN/ • Also on a few CD-ROMs • And O’Reilly Perl Resource Kit (for Unix and Win32 systems) • Also included with many vendors’ systems • Distribution is self-configuring for nearly anything that calls itself Unix and has a C compiler • Non-UNIX binaries available via CPAN—Acorn, Amiga, AOS, AS400, Atari, BeOS, LynxOS, Mac, MPE, MS-DOS, Netware, MVS, OS/2, Plan9, QNX,VOS, VMS, Win32 • Larry has promised that Perl will always be open-source (free!) Page 8 of 56 STONEHENGE CONSULTING SERVICES 4470 SW Hall Suite 107 Beaverton, OR 97005 (503) 777-0095 TM Support • Well, you get complete source—that’s a start... • Extensive on-line documentation (1200+ typeset pages) • Commercial support—PerlSupport.com (http://www.perlsupport.com) and others • Volunteers on the Internet—post questions to comp.lang.perl.misc • Local “Perl Monger” User Groups (http://www.pm.org) • Perl-5-Porters (P5P) provide bugtracking, and nearly immediate bugfixing (via the included perlbug bug reporting program) Page 9 of 56 STONEHENGE CONSULTING SERVICES 4470 SW Hall Suite 107 Beaverton, OR 97005 (503) 777-0095 TM Books • Programming Perl, Second Edition (a Nutshell handbook from O’Reilly and Associates) by Larry Wall, Tom Christiansen, and Randal L. Schwartz, ISBN 1-56592-149-6 • Learning Perl, Second Edition (another Nutshell book) by Randal L. Schwartz and Tom Christiansen (foreword by Larry Wall), ISBN 1-56592-284-0 • Learning Perl on Win32 Systems (another Nutshell book) by Randal L. Schwartz, Tom Christiansen, and Erik Olson, ISBN 1-56592-324-3 • Effective Perl Programming (from Addison-Weseley) by Joseph Hall with Randal L. Schwartz, ISBN 0-201-41975-0 (details on www.effectiveperl.com) • The Perl Cookbook (Nutshell again) by Tom Christiansen and Nathan Torkington, ISBN 1-56592-243-3 • Other books available: 100+ titles (new ones every month!) Page 10 of 56 STONEHENGE CONSULTING SERVICES 4470 SW Hall Suite 107 Beaverton, OR 97005 (503) 777-0095 TM Basic concepts • Program is a text file, edited with ordinary text editor, made executable like a shell script • Whitespace is generally insignificant (like a C program) • Comments are pound-sign to end of line • “main” program consists of all statements not within subroutines • Syntax is C-like, with everything else thrown in (most statements are expression followed by semicolon) • Variables spring into existence on assignment—no declaration required • Entire source is compiled into internal representation, then interpreted from there
Recommended publications
  • Perl Baseless Myths & Startling Realities
    http://xkcd.com/224/ 1 Perl Baseless Myths & Startling Realities by Tim Bunce, February 2008 2 Parrot and Perl 6 portion incomplete due to lack of time (not lack of myths!) Realities - I'm positive about Perl Not negative about other languages - Pick any language well suited to the task - Good developers are always most important, whatever language is used 3 DISPEL myths UPDATE about perl Who am I? - Tim Bunce - Author of the Perl DBI module - Using Perl since 1991 - Involved in the development of Perl 5 - “Pumpkin” for 5.4.x maintenance releases - http://blog.timbunce.org 4 Perl 5.4.x 1997-1998 Living on the west coast of Ireland ~ Myths ~ 5 http://www.bleaklow.com/blog/2003/08/new_perl_6_book_announced.html ~ Myths ~ - Perl is dead - Perl is hard to read / test / maintain - Perl 6 is killing Perl 5 6 Another myth: Perl is slow: http://www.tbray.org/ongoing/When/200x/2007/10/30/WF-Results ~ Myths ~ - Perl is dead - Perl is hard to read / test / maintain - Perl 6 is killing Perl 5 7 Perl 5 - Perl 5 isn’t the new kid on the block - Perl is 21 years old - Perl 5 is 14 years old - A mature language with a mature culture 8 How many times Microsoft has changed developer technologies in the last 14 years... 9 10 You can guess where thatʼs leading... From “The State of the Onion 10” by Larry Wall, 2006 http://www.perl.com/pub/a/2006/09/21/onion.html?page=3 Buzz != Jobs - Perl5 hasn’t been generating buzz recently - It’s just getting on with the job - Lots of jobs - just not all in web development 11 Web developers tend to have a narrow focus.
    [Show full text]
  • Linux Lunacy V & Perl Whirl
    SPEAKERS Linux Lunacy V Nicholas Clark Scott Collins & Perl Whirl ’05 Mark Jason Dominus Andrew Dunstan Running Concurrently brian d foy Jon “maddog” Hall Southwestern Caribbean Andrew Morton OCTOBER 2ND TO 9TH, 2005 Ken Pugh Allison Randal Linux Lunacy V and Perl Whirl ’05 run concurrently. Attendees can mix and match, choosing courses from Randal Schwartz both conferences. Doc Searls Ted Ts’o Larry Wall Michael Warfield DAY PORT ARRIVE DEPART CONFERENCE SESSIONS Sunday, Oct 2 Tampa, Florida — 4:00pm 7:15pm, Bon Voyage Party Monday, Oct 3 Cruising The Caribbean — — 8:30am – 5:00pm Tuesday, Oct 4 Grand Cayman 7:00am 4:00pm 4:00pm – 7:30pm Wednesday, Oct 5 Costa Maya, Mexico 10:00am 6:00pm 6:00pm – 7:30pm Thursday, Oct 6 Cozumel, Mexico 7:00am 6:00pm 6:00pm – 7:30pm Friday, Oct 7 Belize City, Belize 7:30am 4:30pm 4:30pm – 8:00pm Saturday, Oct 8 Cruising The Caribbean — — 8:30am – 5:00pm Sunday, Oct 9 Tampa, Florida 8:00am — Perl Whirl ’05 and Linux Lunacy V Perl Whirl ’05 are running concurrently. Attendees can mix and match, choosing courses Seminars at a Glance from both conferences. You may choose any combination Regular Expression Mastery (half day) Programming with Iterators and Generators of full-, half-, or quarter-day seminars Speaker: Mark Jason Dominus Speaker: Mark Jason Dominus (half day) for a total of two-and-one-half Almost everyone has written a regex that failed Sometimes you’ll write a function that takes too (2.5) days’ worth of sessions. The to match something they wanted it to, or that long to run because it produces too much useful conference fee is $995 and includes matched something they thought it shouldn’t, and information.
    [Show full text]
  • When Geeks Cruise
    COMMUNITY Geek Cruise: Linux Lunacy Linux Lunacy, Perl Whirl, MySQL Swell: Open Source technologists on board When Geeks Cruise If you are on one of those huge cruising ships and, instead of middle-aged ladies sipping cocktails, you spot a bunch of T-shirt touting, nerdy looking guys hacking on their notebooks in the lounges, chances are you are witnessing a “Geek Cruise”. BY ULRICH WOLF eil Baumann, of Palo Alto, Cali- and practical tips on application develop- The dedicated Linux track comprised a fornia, has been organizing geek ment – not only for Perl developers but meager spattering of six lectures, and Ncruises since 1999 (http://www. for anyone interested in programming. though there was something to suit geekcruises.com/), Neil always finds everyone’s taste, the whole thing tended enough open source and programming Perl: Present and to lack detail. Ted T’so spent a long time celebrities to hold sessions on Linux, (Distant?) Future talking about the Ext2 and Ext3 file sys- Perl, PHP and other topics dear to geeks. In contrast, Allison Randal’s tutorials on tems, criticizing ReiserFS along the way, Parrot Assembler and Perl6 features were but had very little to say about network Open Source Celebs hardcore. Thank goodness Larry Wall file systems, an increasingly vital topic. on the Med summed up all the major details on Perl6 Developers were treated to a lecture on I was lucky enough to get on board the in a brilliant lecture that was rich with developing shared libraries, and admins first Geek Cruise on the Mediterranean, metaphors and bursting with informa- enjoyed sessions on Samba and hetero- scaring the nerds to death with my tion.
    [Show full text]
  • Word to LATEX for a Large, Multi-Author Scientific Paper
    The PracTEX Journal TPJ 2005 No 03, 2005-07-15 Rev. 2005-07-16 Word to LATEX for a Large, Multi-Author Scientific Paper D. W. Ignat Abstract Numerous co-authors from diverse locations submitted to a scientific jour- nal a manuscript for large review article in many sections, each formatted in MS Word. Journal policy for reviews, which attract no page charges, required a translation to LATEX, including the transformation of section-based references to a non-repetitive article-based list. Saving Word files in RTF format and us- ing rtf2latex2e accomplished the basic translation, and then a perl program was used to get the references into acceptable condition. This approach to con- version succeeded and may be useful to others. 1 Introduction Twelve authors from five countries and ten research institutions proposed to the Nuclear Fusion journal (NF) of the International Atomic Energy Agency (IAEA) in Vienna, Austria, a review paper with six sections plus a glossary. This unusually large manuscript had some hundred thousand words and a thousand references. The sections had different lead authors, so that the references of each section were independent of those in other sections, while often repetitive among sections. The IAEA gave review papers the privilege of waived publication charges ($150/page), but required authors to ease the publisher’s costs by submitting c 2005 DW Ignat and IAEA, Vienna manuscripts of reviews in LATEX, the journal’s typesetting system. Therefore, a con- siderable financial incentive appeared for finding a somewhat automated transfor- mation of all the Word sources into a unified LATEX source.
    [Show full text]
  • Minimal Perl for UNIX and Linux People
    Minimal Perl For UNIX and Linux People BY TIM MAHER MANNING Greenwich (74° w. long.) For online information and ordering of this and other Manning books, please visit www.manning.com. The publisher offers discounts on this book when ordered in quantity. For more information, please contact: Special Sales Department Manning Publications Co. Cherokee Station PO Box 20386 Fax: (609) 877-8256 New York, NY 10021 email: [email protected] ©2007 by Manning Publications Co. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by means electronic, mechanical, photocopying, or otherwise, without prior written permission of the publisher. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in the book, and Manning Publications was aware of a trademark claim, the designations have been printed in initial caps or all caps. Recognizing the importance of preserving what has been written, it is Manning’s policy to have the books we publish printed on acid-free paper, and we exert our best efforts to that end. Manning Publications Co. Copyeditor: Tiffany Taylor 209 Bruce Park Avenue Typesetters: Denis Dalinnik, Dottie Marsico Greenwich, CT 06830 Cover designer: Leslie Haimes ISBN 1-932394-50-8 Printed in the United States of America 12345678910–VHG–1009080706 To Yeshe Dolma Sherpa, whose fortitude, endurance, and many sacrifices made this book possible. To my parents, Gloria Grady Washington and William N. Maher, who indulged my early interests in literature. To my limbic system, with gratitude for all the good times we’ve had together.
    [Show full text]
  • Programming Perl (Nutshell Handbooks) Randal L. Schwartz
    [PDF] Programming Perl (Nutshell Handbooks) Randal L. Schwartz, Larry Wall - pdf download free book Programming Perl (Nutshell Handbooks) PDF, Programming Perl (Nutshell Handbooks) Download PDF, Programming Perl (Nutshell Handbooks) by Randal L. Schwartz, Larry Wall Download, Programming Perl (Nutshell Handbooks) Full Collection, Read Best Book Online Programming Perl (Nutshell Handbooks), Read Online Programming Perl (Nutshell Handbooks) Ebook Popular, Download Free Programming Perl (Nutshell Handbooks) Book, Download PDF Programming Perl (Nutshell Handbooks), pdf free download Programming Perl (Nutshell Handbooks), by Randal L. Schwartz, Larry Wall Programming Perl (Nutshell Handbooks), the book Programming Perl (Nutshell Handbooks), Download Programming Perl (Nutshell Handbooks) Online Free, Read Online Programming Perl (Nutshell Handbooks) Book, Read Programming Perl (Nutshell Handbooks) Full Collection, Programming Perl (Nutshell Handbooks) PDF read online, Programming Perl (Nutshell Handbooks) Ebooks, Programming Perl (Nutshell Handbooks) Free Download, Programming Perl (Nutshell Handbooks) Free PDF Download, Programming Perl (Nutshell Handbooks) Books Online, PDF Download Programming Perl (Nutshell Handbooks) Free Collection, CLICK HERE FOR DOWNLOAD pdf, mobi, epub, azw, kindle Description: About the Author Randal L. Schwartz is a two-decade veteran of the software industry. He is skilled in software design, system administration, security, technical writing, and training. Randal has coauthored the "must-have" standards: Programming Perl, Learning Perl, Learning Perl for Win32 Systems, and Effective Perl Learning, and is a regular columnist for WebTechniques, PerformanceComputing, SysAdmin, and Linux magazines. He is also a frequent contributor to the Perl newsgroups, and has moderated comp.lang.perl.announce since its inception. His offbeat humor and technical mastery have reached legendary proportions worldwide (but he probably started some of those legends himself).
    [Show full text]
  • Intermediate Perl
    SECOND EDITION Intermediate Perl Randal L. Schwartz, brian d foy, and Tom Phoenix Beijing • Cambridge • Farnham • Köln • Sebastopol • Tokyo Intermediate Perl, Second Edition by Randal L. Schwartz, brian d foy, and Tom Phoenix Copyright © 2012 Randal Schwartz, brian d foy, Tom Phoenix. All rights reserved. Printed in the United States of America. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (http://my.safaribooksonline.com). For more information, contact our corporate/institutional sales department: 800-998-9938 or [email protected]. Editors: Simon St. Laurent and Shawn Wallace Indexer: Lucie Haskins Production Editor: Kristen Borg Cover Designer: Karen Montgomery Copyeditor: Absolute Service, Inc. Interior Designer: David Futato Proofreader: Absolute Service, Inc. Illustrator: Rebecca Demarest March 2006: First Edition. August 2012: Second Edition. Revision History for the Second Edition: 2012-07-20 First release See http://oreilly.com/catalog/errata.csp?isbn=9781449393090 for release details. Nutshell Handbook, the Nutshell Handbook logo, and the O’Reilly logo are registered trademarks of O’Reilly Media, Inc. Intermediate Perl, the image of an alpaca, and related trade dress are trademarks of O’Reilly Media, Inc. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and O’Reilly Media, Inc., was aware of a trademark claim, the designations have been printed in caps or initial caps. While every precaution has been taken in the preparation of this book, the publisher and authors assume no responsibility for errors or omissions, or for damages resulting from the use of the information con- tained herein.
    [Show full text]
  • Table of Contents • Index • Reviews • Reader Reviews • Errata Perl 6 Essentials by Allison Randal, Dan Sugalski, Leopold Tötsch
    • Table of Contents • Index • Reviews • Reader Reviews • Errata Perl 6 Essentials By Allison Randal, Dan Sugalski, Leopold Tötsch Publisher: O'Reilly Pub Date: June 2003 ISBN: 0-596-00499-0 Pages: 208 Slots: 1 Perl 6 Essentials is the first book that offers a peek into the next major version of the Perl language. Written by members of the Perl 6 core development team, the book covers the development not only of Perl 6 syntax but also Parrot, the language-independent interpreter developed as part of the Perl 6 design strategy. This book is essential reading for anyone interested in the future of Perl. It will satisfy their curiosity and show how changes in the language will make it more powerful and easier to use. 1 / 155 • Table of Contents • Index • Reviews • Reader Reviews • Errata Perl 6 Essentials By Allison Randal, Dan Sugalski, Leopold Tötsch Publisher: O'Reilly Pub Date: June 2003 ISBN: 0-596-00499-0 Pages: 208 Slots: 1 Copyright Preface How This Book Is Organized Font Conventions We'd Like to Hear from You Acknowledgments Chapter 1. Project Overview Section 1.1. The Birth of Perl 6 Section 1.2. In the Beginning . Section 1.3. The Continuing Mission Chapter 2. Project Development Section 2.1. Language Development Section 2.2. Parrot Development Chapter 3. Design Philosophy Section 3.1. Linguistic and Cognitive Considerations Section 3.2. Architectural Considerations Chapter 4. Syntax Section 4.1. Variables Section 4.2. Operators Section 4.3. Control Structures Section 4.4. Subroutines Section 4.5. Classes and Objects Section 4.6.
    [Show full text]
  • Perl Baseless Myths & Startling Realities
    http://xkcd.com/224/ Perl Baseless Myths & Startling Realities by Tim Bunce, July 2008 Prefer ‘Good Developers’ over ‘Good Languages’ “For all program aspects investigated, the performance variability that derives from differences among programmers of the same language—as described by the bad-to-good ratios—is on average as large or larger than the variability found among the different languages.” — An empirical comparison of C, C++, Java, Perl, Python, Rexx, and Tcl. IEEE Computer Journal October 2000 Who am I? - Tim Bunce - Author of the Perl DBI module - Using Perl since 1991 - Involved in the development of Perl 5 - “Pumpkin” for 5.4.x maintenance releases - http://blog.timbunce.org ~ Myths ~ ~ Myths ~ - Perl is dead - Perl is hard to read / test / maintain - Perl 6 is killing Perl 5 ~ Myths ~ - Perl is dead - Perl is hard to read / test / maintain - Perl 6 is killing Perl 5 Perl 5 - Perl 5 isn’t the new kid on the block - Perl is 21 years old - Perl 5 is 14 years old - A mature language with a mature culture Buzz != Jobs - Perl5 hasn’t been generating buzz recently - It’s just getting on with the job - Lots of jobs - - just not all in web development Guess the Languages “web developer” Yes, Perl is growing more slowly than others but these are just “web developer” jobs “software engineer” Perl is mentioned in many more software engineer/developer jobs. “foo developer” Perl is the primary focus of more developer jobs. Want a fun new job? Become a Perl developer! Massive Module Market - Large and vibrant developer community - Over 15,000 distributions (58,000 modules) - Over 6,700 ‘authors’ (who make releases) - One quarter of all CPAN distributions have been updated in the last 4 months! - Half of all updated in the last 17 months! Top Modules -Many gems, including..
    [Show full text]
  • Learning Perl. 5Th Edition [PDF]
    Learning Perl ,perlroadmap.24755 Page ii Tuesday, June 17, 2008 8:15 AM Other Perl resources from O’Reilly Related titles Advanced Perl Programming Perl Debugger Pocket Intermediate Perl Reference Mastering Perl Perl in a Nutshell Perl 6 and Parrot Essentials Perl Testing: A Developer’s Perl Best Practices Notebook Perl Cookbook Practical mod-perl Perl Books perl.oreilly.com is a complete catalog of O’Reilly’s books on Perl Resource Center and related technologies, including sample chapters and code examples. Perl.com is the central web site for the Perl community. It is the perfect starting place for finding out everything there is to know about Perl. Conferences O’Reilly brings diverse innovators together to nurture the ideas that spark revolutionary industries. We specialize in document- ing the latest tools and systems, translating the innovator’s knowledge into useful skills for those in the trenches. Visit conferences.oreilly.com for our upcoming events. Safari Bookshelf (safari.oreilly.com) is the premier online refer- ence library for programmers and ITprofessionals. Conduct searches across more than 1,000 books. Subscribers can zero in on answers to time-critical questions in a matter of seconds. Read the books on your Bookshelf from cover to cover or sim- ply flip to the page you need. Try it today with a free trial. main.title Page iii Monday, May 19, 2008 11:21 AM FIFTH EDITION LearningTomcat Perl™ The Definitive Guide Randal L. Schwartz,Jason Tom Brittain Phoenix, and and Ian brian F. Darwin d foy Beijing • Cambridge • Farnham • Köln • Sebastopol • Taipei • Tokyo Learning Perl, Fifth Edition by Randal L.
    [Show full text]
  • Chapter 11 the Perl Scripting Language Dr
    Chapter 11 The Perl Scripting Language Dr. Marjan Trutschl [email protected] Louisiana State University, Shreveport, LA 71115 Chapter 11 The Perl Scripting Language ¤ Intro to Perl ¤ Working with Files ¤ Help ¤ Sort ¤ Terminology ¤ Subroutines ¤ Running a Perl Program ¤ Regular Expressions ¤ Syntax ¤ CPAN Modules ¤ Variables ¤ Examples ¤ Control Structures Intro to Perl ¤ The Perl motto is "There's more than one way to do it." Divining how many more is left as an exercise to the reader. ¤ Originally created by Larry Wall as a tool to process reports Yep. This guy. at NASA, AKA the Practical Extraction and Report Language ¤ Perl is easy, flexible and processes text information quickly ¤ Since most graphics are text at some level, Perl has been adapted to CGI pretty widely ¤ It’s also great at RegExp and works very well with Linux by allowing embedded bash in a Perl script or Perl in a bash script Help ¤ Help ¤ There are numerous resources for Perl, so please don’t stop with just the text ¤ Try reading the documentation…it’s actually very well written and provides sound advice ¤ Also, if you’re in a hurry, try this tutorial: ¤ http://www.perl.com/pub/2008/04/23/a-beginners- introduction-to-perl-510.html Perl is already installed on the Sun servers or any OSX system, but some Linux distributions (like raspbian) don’t ship with it. Simply install it with ‘apt-get’ or your favorite package manager. Help ¤ Documentation ¤ Because Perl’s restrictions can be turned off, it’s easy to use it for simple tasks with sloppy code ¤ Turn on ‘strict’ and ‘warnings’ to tighten up your code ¤ Perl supports object oriented code, though there is no special syntax for it, feel free to write good code ¤ Constructors can be created using the ‘bless’ function ¤ Use the ‘perldoc’ utility to document Larry is very religious, and has a good sense of humor about it.
    [Show full text]
  • Pragmaticperl-Interviews-A4.Pdf
    Pragmatic Perl Interviews pragmaticperl.com 2013—2015 Editor and interviewer: Viacheslav Tykhanovskyi Covers: Marko Ivanyk Revision: 2018-03-02 11:22 © Pragmatic Perl Contents 1 Preface .......................................... 1 2 Alexis Sukrieh (April 2013) ............................... 2 3 Sawyer X (May 2013) .................................. 10 4 Stevan Little (September 2013) ............................. 17 5 chromatic (October 2013) ................................ 22 6 Marc Lehmann (November 2013) ............................ 29 7 Tokuhiro Matsuno (January 2014) ........................... 46 8 Randal Schwartz (February 2014) ........................... 53 9 Christian Walde (May 2014) .............................. 56 10 Florian Ragwitz (rafl) (June 2014) ........................... 62 11 Curtis “Ovid” Poe (September 2014) .......................... 70 12 Leon Timmermans (October 2014) ........................... 77 13 Olaf Alders (December 2014) .............................. 81 14 Ricardo Signes (January 2015) ............................. 87 15 Neil Bowers (February 2015) .............................. 94 16 Renée Bäcker (June 2015) ................................ 102 17 David Golden (July 2015) ................................ 109 18 Philippe Bruhat (Book) (August 2015) . 115 19 Author .......................................... 123 i Preface 1 Preface Hello there! You have downloaded a compilation of interviews done with Perl pro- grammers in Pragmatic Perl journal from 2013 to 2015. Since the journal itself is in Russian
    [Show full text]