SlideShare a Scribd company logo
NodeTop, Next:Preface, Previous:(dir), Up:(dir)
    Preface:
    Overview of Perl:
    Scalars:
    Arrays:
    Control Structures:
    Associative Arrays (Hashes):
    Advanced Control Structures:
    Input and Output:
    Regular Expressions:
    Subroutines:
    File Input and Output:
    Directories:
    File System Manipulation:
    Formats:
    Using Modules:
    Going Further:
    General Index:

      --- The Detailed Node Listing ---

      Preface
      Purpose of this Book:
      Contributors:
      Obtaining the Most Recent Version:
      Audience: Who should read this book?
      Material Covered: What does this book cover?
      Conventions Used in this Book: How do I read this book?
      Where to Find Perl Information: Where can I get more information?

      Overview of Perl
      Perl Background: History and Philosophy of Perl.
      A First Perl Program: A Simple Example.
      Running Perl on Your System: How to run Perl.
      Expression Evaluation: How Perl expressions are evaluated.
      Overview Exercises: Exercises to learn from.

      Perl Background
      The History of Perl: Historical information on Perl.
      Perl as a Natural Language: How Perl can be considered a ``natural language''.
      The Slogans: Some common sayings that might help a new programmer understand Perl.

      Running Perl on Your System
      Perl on a Unix-like System: Using Perl in a Unix-like environment.
      Perl on a Microsoft Windows System: Using Perl on a Microsoft system.
      The Online Perl Documentation: Finding the documentation that comes with Perl.




                                                                                            Page 1
   Scalars
   Strings: Using strings of characters in Perl.
   Numbers: Using numerical values in Perl.
   Scalar Variables: Storing scalar data into variables.
   Operators: Operators that work on scalar data.
   Output of Scalar Data:
   Special Variables: Special scalar variables to be aware of.
   Summary of Scalar Operators:
   Scalar Exercises: Exercises to learn from.

   Strings
   Single-quoted Strings:
   A Digression---The print Function:
   Double-quoted Strings:
   Here Document Strings:

   Single-quoted Strings
   Special Characters in Single-quoted Strings:
   Newlines in Single-quoted Strings:
   Examples of Illegal Single-quoted Strings:

   Double-quoted Strings
   Interpolation in Double-quoted Strings:
   Examples of Interpolation:
   Examples of Interpolation (ASCII Octal Values):
   Examples of Interpolation (ASCII Hex Values):
   Characters Requiring Special Consideration:

   Numbers
   Numeric Literals: Numeric values in Perl

   Numeric Literals
   Printing Numeric Literals: Using print with numeric literals

   Scalar Variables
   Scalar Interpolation: Expanding scalar variables in double-quoted strings
   Undefined Variables: Before a Variable has a value, It is undefined

   Operators
   Numerical Operators: Operators for numeric scalars
   Comparison Operators: Operators to compare scalars with each other
   Auto-Increment and Decrement:
   String Operators: Operators for string scalars

   Arrays
   The Semantics of Arrays:
   List Literals:
   Array Variables:



                                                                                Page 2
   Manipulating Arrays and Lists:
   Array Exercises:

   Array Variables
   Using Array Variables:
   Associated Scalars:

   Manipulating Arrays and Lists
   It Slices!:
   Functions:
   The Context (List vs. Scalar):
   Array Interpolation:

   Functions
   Arrays as Stacks:
   Arrays as Queues:

   Control Structures
   Blocks:
   A Digression---Truth Values:
   The if/unless Structures:
   The while/until Structures:
   The do while/until Structures:
   The for Structure:
   The foreach Structure:
   Control Structure Exercises:

   Associative Arrays (Hashes)
   What Is It?:
   Hash Variables:
   Hash Literals:
   Hash Functions:
   Slices:
   Context Considerations:
   Hash Exercises:

   Functions
   Keys and Values:
   Each:

   Advanced Control Structures
   last and next:
   redo:
   Labeled Blocks:
   Expression Modifiers and Boolean Structures:
   Advanced Control Structure Exercises:

   Input and Output



                                                   Page 3
   STDOUT:
   STDIN:
   STDERR:
   Reading Input:
   Printing and Output:
   Special Variables for I/O:
   I/O Exercises:

   Regular Expressions
   The Theory Behind It All:
   The Simple:
   Pattern Matching:
   Regular Expression Shortcuts:
   Regular Expression Exercises:

   The Simple
   Simple Characters:
   The * Special Character:
   The . Character:
   The | Character:
   Grouping with ()s:
   The Anchor Characters:

   Subroutines
   Defining Subroutines:
   Returning Values:
   Using Arguments:
   Dynamic vs. Lexical Scoping:
   Subroutine Exercises:

   File Input and Output
   Filehandles:
   Open and Close:
   Easy Input and Output with Filehandles:
   File Tests:
   The stat Function:
   File I/O Exercises:

   Directories
   Moving Around:
   Globbing:
   Directory Handles:
   Reading Directory Information:
   Directory Exercises:

   File System Manipulation
   Renaming and Removing:
   Creation:



                                              Page 4
   Permissions:
       Timestamps:
       File System Exercises:

       Formats
       Format Exercises:

       Using Modules
       The use Pragma:
       Importing Functions:
       Controlling What Is Imported:
       A Module Example (CGI.pm):
       Useful Default Modules:
       Downloading and Installing CPAN Modules:


NodePreface, Next:Overview of Perl, Previous:Top, Up:Top



  Preface
       Purpose of this Book:
       Contributors:
       Obtaining the Most Recent Version:
       Audience: Who should read this book?
       Material Covered: What does this book cover?
       Conventions Used in this Book: How do I read this book?
       Where to Find Perl Information: Where can I get more information?


NodePurpose of this Book, Next:Contributors, Previous:Preface, Up:Preface


 Purpose of this Book
 This book has been created for a number of reasons. The primary reason is to provide a freely
redistributable tutorial for the Perl language. In writing a freely redistributable tutorial, it is our hope that
the largest number of people can have access to it and share it.

We are a community of Perl programmers. We have discovered ways to save time and money by writing
Perl programs that make our jobs and lives easier. Surely, Perl is not a panacea, but it has certainly made
our lives a little bit easier. It is our hope that you can use Perl to make your jobs and lives easier.


NodeContributors, Next:Obtaining the Most Recent Version, Previous:Purpose of this Book, Up:
Preface


 Contributors
Bradley M. Kuhn (bkuhn@ebb.org) served as "pumpking" (aka editor) for the first edition of this book.



                                                                                                                    Page 5
In addition, he wrote most of the chapters for the first edition.

Greg Bacon (gbacon@cs.uah.edu) was the first to provide grammar and error correcting patches to the
early, pre-release editions.


NodeObtaining the Most Recent Version, Next:Audience, Previous:Contributors, Up:Preface


 Obtaining the Most Recent Version
This book is still under development. The most recent version can be obtained at
http://www.ebb.org/PickingUpPerl.


NodeAudience, Next:Material Covered, Previous:Obtaining the Most Recent Version, Up:Preface


 Audience
 This book is designed for readers who are already competent programmers. Perl is a wonderful
programming language, but is really not the best choice for a first programming language. Since that is the
case, we have chosen to write this book for the audience of those who are already familiar with general
programming concepts, but are completely new to Perl.

This book does not that assume any prior knowledge of Perl. However, a reader familiar with standard
computer science concepts such as abstraction, stacks, queues, and hash tables will definitely find her
way through this book with ease. In other words, anyone with a knowledge equivalent to a first-year of
college computer science courses should find this book very basic, and those of less experience may find
it much more challenging.


NodeMaterial Covered, Next:Conventions Used in this Book, Previous:Audience, Up:Preface


 Material Covered
 The material covered in this book is designed to prepare the reader to enter the world of Perl
programming. This book covers the basic data and control structures of Perl, as well as the philosophies
behind Perl programming. The native search patterns used in Perl, called regular expressions, are
introduced and discussed. The basics of input and output and file system manipulation in Perl are
explained. Finally, a "real world" example of working with and using modules that other programmers
have written is given.


NodeConventions Used in this Book, Next:Where to Find Perl Information, Previous:Material Covered,
Up:Preface


 Conventions Used in this Book
In this text, a variety of conventions will be used to explain the material. Certain typographical and
display elements will be used for didactic purposes.



                                                                                                              Page 6
Any Perl code that is included directly in flowing text appears like this: code. Any operating system
commands or files that are discussed directly in the flowing text appear like this: file. When a particularly
term of importance is first introduced, they appear in emphasized text, like this: an important term.

When Perl code examples or operating system commands need to be separated away from the flowing
text for emphasis, or because the code is long, it appears like this:
my $x = "foo";           # This is a Perl assignment
p




                                                                                                                Page 7

More Related Content

PDF
An Introduction to NLP4L - Natural Language Processing Tool for Apache Lucene...
PDF
A Comparison Between Python APIs For RDF Processing
ODP
Search Lucene
PDF
Webinar: OpenNLP and Solr for Superior Relevance
PDF
Improved Search with Lucene 4.0 - Robert Muir
PDF
code4lib 2011 preconference: What's New in Solr (since 1.4.1)
PPTX
OWL: Yet to arrive on the Web of Data?
PPT
Aidan's PhD Viva
An Introduction to NLP4L - Natural Language Processing Tool for Apache Lucene...
A Comparison Between Python APIs For RDF Processing
Search Lucene
Webinar: OpenNLP and Solr for Superior Relevance
Improved Search with Lucene 4.0 - Robert Muir
code4lib 2011 preconference: What's New in Solr (since 1.4.1)
OWL: Yet to arrive on the Web of Data?
Aidan's PhD Viva

What's hot (20)

PDF
Neural Architectures for Named Entity Recognition
PDF
Flexible Indexing in Lucene 4.0
PPT
Lucene and MySQL
PDF
The Evolution of Lucene & Solr Numerics from Strings to Points: Presented by ...
PDF
Rapid Prototyping with Solr
PPT
Lucene Introduction
PDF
Introduction to libre « fulltext » technology
ODP
Apache Lucene: Searching the Web and Everything Else (Jazoon07)
PPTX
Google Protocol Buffers
PPTX
Intro to nlp
PDF
Lucene for Solr Developers
PDF
Improved Search With Lucene 4.0 - NOVA Lucene/Solr Meetup
PDF
What is in a Lucene index?
PPTX
Lucene indexing
PPTX
Word2 vec
PDF
Faceted Search with Lucene
PDF
How the Lucene More Like This Works
PDF
Get the most out of Solr search with PHP
PPTX
Text similarity measures
PDF
Munching & crunching - Lucene index post-processing
Neural Architectures for Named Entity Recognition
Flexible Indexing in Lucene 4.0
Lucene and MySQL
The Evolution of Lucene & Solr Numerics from Strings to Points: Presented by ...
Rapid Prototyping with Solr
Lucene Introduction
Introduction to libre « fulltext » technology
Apache Lucene: Searching the Web and Everything Else (Jazoon07)
Google Protocol Buffers
Intro to nlp
Lucene for Solr Developers
Improved Search With Lucene 4.0 - NOVA Lucene/Solr Meetup
What is in a Lucene index?
Lucene indexing
Word2 vec
Faceted Search with Lucene
How the Lucene More Like This Works
Get the most out of Solr search with PHP
Text similarity measures
Munching & crunching - Lucene index post-processing
Ad

Viewers also liked (8)

DOC
World Famous Prayer Interpretation By Dr
PPT
11 16 Biofuels
PDF
Dojo Basics Js UserGroup Chicago
PPTX
Freedom to perform in government- case of TePP
PDF
Circolare del 22/06/2006 n. 23 Oggetto: Studi di settore. Periodo d'imposta 2005
PPT
11 20 Brambles
DOC
Beware Of Meditation Dr Shriniwas Kashalikar
World Famous Prayer Interpretation By Dr
11 16 Biofuels
Dojo Basics Js UserGroup Chicago
Freedom to perform in government- case of TePP
Circolare del 22/06/2006 n. 23 Oggetto: Studi di settore. Periodo d'imposta 2005
11 20 Brambles
Beware Of Meditation Dr Shriniwas Kashalikar
Ad

Similar to Perl%20Tutorial.!Picking%20Up%20Perl (20)

PDF
Modules of the twenties
PPTX
Introduction to Linux Slides.pptx
PDF
What we can learn from Rebol?
PPT
presentation_intro_to_python
PPT
presentation_intro_to_python_1462930390_181219.ppt
PDF
Lpi Part 2 Basic Administration
PDF
OOP, Networking, Linux/Unix
PDF
The Why and What of Pattern Lab
PPTX
The Bund language
PPT
web programming Unit VI PPT by Bhavsingh Maloth
PDF
The Rust Programming Language 2nd Edition Steve Klabnik
PDF
The Rust Programming Language Steve Klabnik
PDF
The Rust Programming Language 2nd Edition Steve Klabnik
PDF
The Rust Programming Language, Second Edition Steve Klabnik
PPTX
Managing JSON Deliverables with Fuzzy String-Matching Logic and the Path Reader
PPTX
Summer Training Project On Python Programming
PDF
Download Complete The Rust Programming Language 2nd Edition Steve Klabnik PDF...
PDF
Linux programming - Getting self started
PPTX
File handle in PROGRAMMable extensible interpreted .pptx
PPTX
Modules of the twenties
Introduction to Linux Slides.pptx
What we can learn from Rebol?
presentation_intro_to_python
presentation_intro_to_python_1462930390_181219.ppt
Lpi Part 2 Basic Administration
OOP, Networking, Linux/Unix
The Why and What of Pattern Lab
The Bund language
web programming Unit VI PPT by Bhavsingh Maloth
The Rust Programming Language 2nd Edition Steve Klabnik
The Rust Programming Language Steve Klabnik
The Rust Programming Language 2nd Edition Steve Klabnik
The Rust Programming Language, Second Edition Steve Klabnik
Managing JSON Deliverables with Fuzzy String-Matching Logic and the Path Reader
Summer Training Project On Python Programming
Download Complete The Rust Programming Language 2nd Edition Steve Klabnik PDF...
Linux programming - Getting self started
File handle in PROGRAMMable extensible interpreted .pptx

More from tutorialsruby (20)

PDF
<img src="../i/r_14.png" />
PDF
TopStyle Help & <b>Tutorial</b>
PDF
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting <b>...</b>
PDF
<img src="../i/r_14.png" />
PDF
<img src="../i/r_14.png" />
PDF
Standardization and Knowledge Transfer – INS0
PDF
xhtml_basics
PDF
xhtml_basics
PDF
xhtml-documentation
PDF
xhtml-documentation
PDF
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
PDF
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
PDF
HowTo_CSS
PDF
HowTo_CSS
PDF
BloggingWithStyle_2008
PDF
BloggingWithStyle_2008
PDF
cascadingstylesheets
PDF
cascadingstylesheets
<img src="../i/r_14.png" />
TopStyle Help & <b>Tutorial</b>
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting <b>...</b>
<img src="../i/r_14.png" />
<img src="../i/r_14.png" />
Standardization and Knowledge Transfer – INS0
xhtml_basics
xhtml_basics
xhtml-documentation
xhtml-documentation
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
HowTo_CSS
HowTo_CSS
BloggingWithStyle_2008
BloggingWithStyle_2008
cascadingstylesheets
cascadingstylesheets

Recently uploaded (20)

PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Spectroscopy.pptx food analysis technology
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Empathic Computing: Creating Shared Understanding
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
A Presentation on Artificial Intelligence
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
Assigned Numbers - 2025 - Bluetooth® Document
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Advanced methodologies resolving dimensionality complications for autism neur...
Spectroscopy.pptx food analysis technology
Network Security Unit 5.pdf for BCA BBA.
MIND Revenue Release Quarter 2 2025 Press Release
Empathic Computing: Creating Shared Understanding
Encapsulation_ Review paper, used for researhc scholars
Reach Out and Touch Someone: Haptics and Empathic Computing
A Presentation on Artificial Intelligence
Unlocking AI with Model Context Protocol (MCP)
NewMind AI Weekly Chronicles - August'25-Week II
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Electronic commerce courselecture one. Pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
“AI and Expert System Decision Support & Business Intelligence Systems”
Building Integrated photovoltaic BIPV_UPV.pdf

Perl%20Tutorial.!Picking%20Up%20Perl

  • 1. NodeTop, Next:Preface, Previous:(dir), Up:(dir)  Preface:  Overview of Perl:  Scalars:  Arrays:  Control Structures:  Associative Arrays (Hashes):  Advanced Control Structures:  Input and Output:  Regular Expressions:  Subroutines:  File Input and Output:  Directories:  File System Manipulation:  Formats:  Using Modules:  Going Further:  General Index:  --- The Detailed Node Listing ---  Preface  Purpose of this Book:  Contributors:  Obtaining the Most Recent Version:  Audience: Who should read this book?  Material Covered: What does this book cover?  Conventions Used in this Book: How do I read this book?  Where to Find Perl Information: Where can I get more information?  Overview of Perl  Perl Background: History and Philosophy of Perl.  A First Perl Program: A Simple Example.  Running Perl on Your System: How to run Perl.  Expression Evaluation: How Perl expressions are evaluated.  Overview Exercises: Exercises to learn from.  Perl Background  The History of Perl: Historical information on Perl.  Perl as a Natural Language: How Perl can be considered a ``natural language''.  The Slogans: Some common sayings that might help a new programmer understand Perl.  Running Perl on Your System  Perl on a Unix-like System: Using Perl in a Unix-like environment.  Perl on a Microsoft Windows System: Using Perl on a Microsoft system.  The Online Perl Documentation: Finding the documentation that comes with Perl. Page 1
  • 2. Scalars  Strings: Using strings of characters in Perl.  Numbers: Using numerical values in Perl.  Scalar Variables: Storing scalar data into variables.  Operators: Operators that work on scalar data.  Output of Scalar Data:  Special Variables: Special scalar variables to be aware of.  Summary of Scalar Operators:  Scalar Exercises: Exercises to learn from.  Strings  Single-quoted Strings:  A Digression---The print Function:  Double-quoted Strings:  Here Document Strings:  Single-quoted Strings  Special Characters in Single-quoted Strings:  Newlines in Single-quoted Strings:  Examples of Illegal Single-quoted Strings:  Double-quoted Strings  Interpolation in Double-quoted Strings:  Examples of Interpolation:  Examples of Interpolation (ASCII Octal Values):  Examples of Interpolation (ASCII Hex Values):  Characters Requiring Special Consideration:  Numbers  Numeric Literals: Numeric values in Perl  Numeric Literals  Printing Numeric Literals: Using print with numeric literals  Scalar Variables  Scalar Interpolation: Expanding scalar variables in double-quoted strings  Undefined Variables: Before a Variable has a value, It is undefined  Operators  Numerical Operators: Operators for numeric scalars  Comparison Operators: Operators to compare scalars with each other  Auto-Increment and Decrement:  String Operators: Operators for string scalars  Arrays  The Semantics of Arrays:  List Literals:  Array Variables: Page 2
  • 3. Manipulating Arrays and Lists:  Array Exercises:  Array Variables  Using Array Variables:  Associated Scalars:  Manipulating Arrays and Lists  It Slices!:  Functions:  The Context (List vs. Scalar):  Array Interpolation:  Functions  Arrays as Stacks:  Arrays as Queues:  Control Structures  Blocks:  A Digression---Truth Values:  The if/unless Structures:  The while/until Structures:  The do while/until Structures:  The for Structure:  The foreach Structure:  Control Structure Exercises:  Associative Arrays (Hashes)  What Is It?:  Hash Variables:  Hash Literals:  Hash Functions:  Slices:  Context Considerations:  Hash Exercises:  Functions  Keys and Values:  Each:  Advanced Control Structures  last and next:  redo:  Labeled Blocks:  Expression Modifiers and Boolean Structures:  Advanced Control Structure Exercises:  Input and Output Page 3
  • 4. STDOUT:  STDIN:  STDERR:  Reading Input:  Printing and Output:  Special Variables for I/O:  I/O Exercises:  Regular Expressions  The Theory Behind It All:  The Simple:  Pattern Matching:  Regular Expression Shortcuts:  Regular Expression Exercises:  The Simple  Simple Characters:  The * Special Character:  The . Character:  The | Character:  Grouping with ()s:  The Anchor Characters:  Subroutines  Defining Subroutines:  Returning Values:  Using Arguments:  Dynamic vs. Lexical Scoping:  Subroutine Exercises:  File Input and Output  Filehandles:  Open and Close:  Easy Input and Output with Filehandles:  File Tests:  The stat Function:  File I/O Exercises:  Directories  Moving Around:  Globbing:  Directory Handles:  Reading Directory Information:  Directory Exercises:  File System Manipulation  Renaming and Removing:  Creation: Page 4
  • 5. Permissions:  Timestamps:  File System Exercises:  Formats  Format Exercises:  Using Modules  The use Pragma:  Importing Functions:  Controlling What Is Imported:  A Module Example (CGI.pm):  Useful Default Modules:  Downloading and Installing CPAN Modules: NodePreface, Next:Overview of Perl, Previous:Top, Up:Top Preface  Purpose of this Book:  Contributors:  Obtaining the Most Recent Version:  Audience: Who should read this book?  Material Covered: What does this book cover?  Conventions Used in this Book: How do I read this book?  Where to Find Perl Information: Where can I get more information? NodePurpose of this Book, Next:Contributors, Previous:Preface, Up:Preface Purpose of this Book This book has been created for a number of reasons. The primary reason is to provide a freely redistributable tutorial for the Perl language. In writing a freely redistributable tutorial, it is our hope that the largest number of people can have access to it and share it. We are a community of Perl programmers. We have discovered ways to save time and money by writing Perl programs that make our jobs and lives easier. Surely, Perl is not a panacea, but it has certainly made our lives a little bit easier. It is our hope that you can use Perl to make your jobs and lives easier. NodeContributors, Next:Obtaining the Most Recent Version, Previous:Purpose of this Book, Up: Preface Contributors Bradley M. Kuhn (bkuhn@ebb.org) served as "pumpking" (aka editor) for the first edition of this book. Page 5
  • 6. In addition, he wrote most of the chapters for the first edition. Greg Bacon (gbacon@cs.uah.edu) was the first to provide grammar and error correcting patches to the early, pre-release editions. NodeObtaining the Most Recent Version, Next:Audience, Previous:Contributors, Up:Preface Obtaining the Most Recent Version This book is still under development. The most recent version can be obtained at http://www.ebb.org/PickingUpPerl. NodeAudience, Next:Material Covered, Previous:Obtaining the Most Recent Version, Up:Preface Audience This book is designed for readers who are already competent programmers. Perl is a wonderful programming language, but is really not the best choice for a first programming language. Since that is the case, we have chosen to write this book for the audience of those who are already familiar with general programming concepts, but are completely new to Perl. This book does not that assume any prior knowledge of Perl. However, a reader familiar with standard computer science concepts such as abstraction, stacks, queues, and hash tables will definitely find her way through this book with ease. In other words, anyone with a knowledge equivalent to a first-year of college computer science courses should find this book very basic, and those of less experience may find it much more challenging. NodeMaterial Covered, Next:Conventions Used in this Book, Previous:Audience, Up:Preface Material Covered The material covered in this book is designed to prepare the reader to enter the world of Perl programming. This book covers the basic data and control structures of Perl, as well as the philosophies behind Perl programming. The native search patterns used in Perl, called regular expressions, are introduced and discussed. The basics of input and output and file system manipulation in Perl are explained. Finally, a "real world" example of working with and using modules that other programmers have written is given. NodeConventions Used in this Book, Next:Where to Find Perl Information, Previous:Material Covered, Up:Preface Conventions Used in this Book In this text, a variety of conventions will be used to explain the material. Certain typographical and display elements will be used for didactic purposes. Page 6
  • 7. Any Perl code that is included directly in flowing text appears like this: code. Any operating system commands or files that are discussed directly in the flowing text appear like this: file. When a particularly term of importance is first introduced, they appear in emphasized text, like this: an important term. When Perl code examples or operating system commands need to be separated away from the flowing text for emphasis, or because the code is long, it appears like this: my $x = "foo"; # This is a Perl assignment p Page 7