<div class='cut-page'><button class='gotoPage' data-page='1'>Page 1</button> <div class='cut-image'><img data-url='document/practical-perl-programming.html?page=1' data-page='1' class='cut-thumb lazyload' alt='Page 1: Practical Perl Programming' loading='lazy' src='data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+P+/HgAFhAJ/wlseKgAAAABJRU5ErkJggg==' data-src='https://reader031.cupdf.com/reader031/viewer/2022030209/621dd7f343b82c54b75556f3/html5/thumbnails/1.jpg' width='140' height='200' /></div><ul> <li>Practical Perl Programming</li> <li>Contents</li> <li>Introduction to Perl</li> <li>What is Perl?</li> <li>Origins</li> <li>Similar to C?</li> <li>Cost and Licensing</li> <li>Installing Perl Installed</li> <li>Getting and Installing Perl</li> <li>Writing Perl Programs</li> <li>Creating the Program</li> <li>Invocation</li> <li>Comments in Your Program</li> <li>Further Reading/Information</li> <li>Numeric and String Literals</li> <li>Numeric Literals</li> <li>Example: Numbers</li> <li>String Literals</li> <li>Example: Single-Quoted Strings</li> <li>Example: Double-Quoted Strings</li> <li>Example: Back-Quoted Strings</li> <li>Variables</li> <li>Scalar Variables</li> <li>Defining Scalar Variables</li> <li>String Scalar Variables</li> <li>Arrays</li> <li>What is an Array?</li> <li>Literal Arrays</li> <li>Indexed Arrays</li> <li>Some Useful Array Functions</li> <li>Associative Arrays</li> <li>Associative Array Operators</li> <li>Operators</li> <li>The Binary Arithmetic Operators</li> <li>The Unary Arithmetic Operators</li> <li>The Logical Operators</li> <li>The Bitwise Operators</li> <li>Comparison operators for numbers and strings</li> <li>The Range Operator (..)</li> <li>The String Operators (. and x)</li> <li>Order of Precedence</li> <li>Perl Statements</li> <li>Understanding Expressions</li> <li>Statement Blocks</li> <li>Statement Blocks and Local Variables</li> <li>If/Unless statement</li> <li>The for statement</li> <li>The while/until statement</li> <li>The foreach statement</li> <li>Functions</li> <li>Using the Parameter Array (@_)</li> <li>Passing Parameters by Reference</li> <li>Scope of Variables</li> <li>Using a List as a Function Parameter</li> <li>Nesting Function Calls</li> <li>Using a Private Function</li> <li>String Functions</li> <li>Array Functions</li> <li>Summary</li> <li>References</li> <li>Reference Types</li> <li>Passing Parameters to Functions</li> <li>The ref() Function</li> <li>Example: Creating a Data Record</li> <li>Interpolating Functions Inside Double-Quoted Strings</li> <li>Summary</li> <li>Files -- Input and Output in Perl</li> <li>Some Files Are Standard</li> <li>Using the Diamond Operator (<>)</li> <li>File Test Operators</li> <li>File Functions</li> <li>Reading Directories</li> <li>Reading and Writing Files</li> <li>Binary Files</li> <li>Getting File Statistics</li> <li>Printing Revisited</li> <li>Regular Expressions</li> <li>What are regular Expressions</li> <li>Using Regular Expressions</li> <li>Special pattern matching character operators</li> <li>Backtracking</li> <li>Setting the Target Operator (Binding)</li> <li>Substitution</li> <li>The Matching Operator (m//)</li> <li>The Matching Options</li> <li>The Translation Operator (tr///)</li> <li>The Translation Options</li> <li>The Binding Operators</li> <li>Character Classes</li> <li>Quantifiers</li> <li>Pattern Memory</li> <li>Pattern Precedence</li> <li>Extension Syntax</li> <li>Pattern Examples</li> <li>Some Practical Examples</li> <li>Using the Match Operator</li> <li>Using the Substitution Operator</li> <li>Example: Using the Translation Operator</li> <li>Example: Using the Split() Function</li> <li>Reports</li> <li>Format Statements</li> <li>Field Lines</li> <li>Report Headings</li> <li>Special Variables</li> <li>What Are the Special Variables?</li> <li>Example: Using the DATA File Handle</li> <li>Example: Using the %ENV Variable</li> <li>Handling Errors and Signals</li> <li>Checking for Errors</li> <li>Using errno</li> <li>Using the || Logical Operator</li> <li>Using the die() Function</li> <li>Using the warn() Function</li> <li>Trapping Fatal Errors</li> <li>Using the eval() Function</li> <li>Signals</li> <li>How to Handle a Signal</li> <li>Objects in Perl</li> <li>What are objects?</li> <li>Classes</li> <li>Abtraction</li> <li>Polymorphism:Overriding Methods</li> <li>Encapsulation:Keeping Code and Data Together</li> <li>Objects in Perl</li> <li>Bless the Hash and Pass the Reference</li> <li>Initializing Properties</li> <li>Using Named Parameters in Constructors</li> <li>Inheritance: Perl Style</li> <li>Polymorphism</li> <li>One Class Can Contain Another</li> <li>Static Versus Regular Methods and Variables</li> <li>Perl Modules</li> <li>Module Constructors and Destructors</li> <li>The BEGIN Block</li> <li>The END Block</li> <li>Symbol Tables</li> <li>The use Compiler Directive</li> <li>Pragma in Perl</li> <li>The strict Pragma</li> <li>The Standard Modules</li> <li>strict, my() and Modules</li> <li>Module Examples</li> <li>The Carp Module</li> <li>The English Module</li> <li>The Env Module</li> <li>Debugging Perl</li> <li>Syntax Errors</li> <li>Common Syntax Errors</li> <li>Logic Errors</li> <li>Using the -w Command-Line Option</li> <li>Being Strict with Your Variables</li> <li>Stepping Through Your Script</li> <li>Displaying Information</li> <li>Examples: Using the n Command</li> <li>Using Breakpoints</li> <li>Creating Command Aliases</li> <li>Using the Debugger as an Interactive Interpreter</li> <li>Summary</li> <li>Perl Command-Line Options</li> <li>How Are the Options Specified?</li> <li>The Command-line Options</li> <li>Example uses of command-line options</li> <li>Using the -0 Option</li> <li>Using the -n and -p Options</li> <li>Using the -i Option</li> <li>Using the -s Option</li> <li>Summary</li> <li>Networking with Perl</li> <li>Sockets</li> <li>Clients and Servers</li> <li>The Server Side of a Conversation</li> <li>The Client Side of a Conversation</li> <li>Using the Time Service</li> <li>Sending Mail (SMTP)</li> <li>The MAIL Command</li> <li>The RCPT Command</li> <li>The DATA Command</li> <li>Reporting Undeliverable Mail</li> <li>Using Perl to Send Mail</li> <li>Receiving Mail (POP)</li> <li>Checking for Upness (Echo)</li> <li>Transferring Files (FTP)</li> <li>The World Wide Web (HTTP)</li> <li>CGI Programming in Perl</li> <li>CGI Scripting</li> <li>What is a CGI Script?</li> <li>Writing and Running CGI Scripts</li> <li>Why Use Perl for CGI?</li> <li>CGI Apps versus Java Applets</li> <li>Should You Use CGI Modules?</li> <li>How Does CGI Work?</li> <li>Calling Your CGI Program</li> <li>Beginning CGI Programming in Perl</li> <li>CGI Script Output</li> <li>A First Perl CGI Script</li> <li>Exectiion of CGI Programs</li> <li>Why Are File Permissions Important in UNIX?</li> <li>HTTP Headers</li> <li>CGI and Environment Variables</li> <li>URL Encoding</li> <li>Security</li> <li>CGIwrap and Security</li> <li>The Other Side of CGI:Input -- HTML Forms</li> <li>A Brief Overview of HTML</li> <li>Server-Side Includes</li> <li>Forms: Facilitating User Input and Interaction</li> <li>Forms and CGI: What are they?</li> <li>Some Example Forms</li> <li>The FORM Tag</li> <li>Entering Data</li> <li>The Submit Button</li> <li>Text Input</li> <li>Password</li> <li>Associating labels with text and password input</li> <li>Radio Buttons</li> <li>Checkboxes</li> <li>Assigning Initial Input Values to</li> <li>Select</li> <li>Textarea</li> <li>Hidden Input</li> <li>An Example Form</li> <li>HTML Forms as an Interface to Databases</li> <li>Further Information</li> <li>CGI Script Input: Accepting Input To Perl Scripts</li> <li>Accepting Input from the Browser</li> <li>Passing Data to a CGI Script</li> <li>A Simple Form CGI Script Call</li> <li>The Other Side -- receiving and processing information in CGI ( Perl) script</li> <li>cgi-lib.pl</li> <li>The cgi.pm module</li> <li>A Minimal Form Response CGI Perl Script</li> <li>Multiple argument input to a Perl CGI script</li> <li>Some Example Perl CGI Scripts</li> <li>RGBtoHex: an RGB to Hexidecimal Color Converter</li> <li>An Address Book Search Engine</li> <li>Creating a Guest Book</li> <li>A Web Page Counter</li> <li>Using Perl with Web Servers</li> <li>Server Log Files</li> <li>Reading a Log File In Perl</li> <li>Listing Access by Document</li> <li>Looking at the Status Code</li> <li>Existing Log File Analyzing Programs</li> <li>Creating Your Own CGI Log File</li> <li>Internet Resources</li> <li>Web Sites</li> <li>A Quick Quide to HTML</li> <li>Basic HTML Programming</li> <li>HTML</li> <li>Hypertext Terminology</li> <li>Creating HTML Documents</li> <li>Learning HTML</li> <li>Anatomy of Any HTML Document</li> <li>HTML Tags</li> <li>Basic HTML Page Structure</li> <li>Summary of Basic HTML Tags</li> <li>Bare-bones example of HTML</li> <li>Basic HTML Coding</li> <li>Head elements</li> <li>The Body Element</li> <li>Headings</li> <li>Paragraphs</li> <li>Comments</li> <li>Links and Anchors</li> <li>Linking to Other Documents</li> <li>Relative, Absolute and remote Links</li> <li>Anchors</li> <li>Lists</li> <li>Unordered or Bulleted lists</li> <li>Ordered or Numbered lists</li> <li>Glossary or Definition Lists</li> <li>Nesting Lists</li> <li>Preformatted Text</li> <li>In-Line Images</li> <li>External Images, Sounds, Video</li> <li>Things to remember when HTML programming</li> <li>Text Formatting with HTML</li> <li>Logical Character Formatting</li> <li>Physical Character formatting</li> <li>Special Characters</li> <li>Horizontal rules and Line breaks</li> <li>Fonts and Font Sizes</li> <li>Recommended Reading</li> <li>About this document ...</li> </ul> <div class="acroform"> <ol> <li>OOFKHBDGEFBFPAEMKAHPKJMKLEJBGHKP: <ol> <li>form1: <ol> <li>f1:</li> <li>x: <ol> <li>f2:</li> </ol> </li> </ol> </li> <li>form2: <ol> <li>x: <ol> <li>f1:</li> <li>f2:</li> <li>f3: [chartreuse]</li> <li>f4: african</li> <li>f5:</li> </ol> </li> <li>f6:</li> </ol> </li> </ol> </li> <li>EIBGHFPNGKNOCHJMFLNGGKHDLLGGCMCF: <ol> <li>form1: <ol> <li>f1:</li> </ol> </li> <li>form2: <ol> <li>f1:</li> </ol> </li> <li>form3: <ol> <li>x: <ol> <li>f1: left</li> <li>f3: right</li> <li>f5: up</li> <li>f7: down</li> </ol> </li> <li>f2:</li> <li>f4:</li> <li>f6:</li> <li>f8:</li> </ol> </li> </ol> </li> <li>JEELDDPJJFDEJHGNBDJHLOAMBJLMOEGO: <ol> <li>form1: <ol> <li>x: <ol> <li>f1:</li> </ol> </li> </ol> </li> <li>form2: <ol> <li>x: <ol> <li>f1:</li> </ol> </li> </ol> </li> </ol> </li> <li>FOHGCHGLMLDBOPPOOKBOCCGLIDPNJIGK: <ol> <li>form1: <ol> <li>x: <ol> <li>f1:</li> </ol> </li> </ol> </li> </ol> </li> <li>HPCBKGFBDIGILOHPCCLGLNKGJBDCGOBN: <ol> <li>form1: <ol> <li>x: <ol> <li>f1:</li> <li>f2:</li> </ol> </li> </ol> </li> </ol> </li> <li>GFNBHGPNIACDADFAEENGLHHLEGKADDGE: <ol> <li>form1: <ol> <li>x: <ol> <li>f1: Off</li> </ol> </li> </ol> </li> </ol> </li> <li>EDPDBJBNPKPBKCPLAJFPEAGCLMJCMKNE: <ol> <li>form1: <ol> <li>x: <ol> <li>f1: Off</li> <li>f2: Off</li> <li>f3: Off</li> <li>f4: Off</li> <li>f5: Off</li> <li>f6: Off</li> </ol> </li> </ol> </li> </ol> </li> <li>JOAEOFHNDOAPNJLDMCGAFDDFJFFIEEBG: <ol> <li>form1: <ol> <li>x: <ol> <li>f1: Y</li> </ol> </li> </ol> </li> </ol> </li> <li>BLDFMEDBGBOBCCAJJLDFJNGKFHAPKEEM: <ol> <li>form1: <ol> <li>x: <ol> <li>f1: [ Europe]</li> </ol> </li> </ol> </li> </ol> </li> <li>KDNHDDGFJCKMADLADHNILFJPLIABGHIF: <ol> <li>form1: <ol> <li>x: <ol> <li>f1:</li> </ol> </li> </ol> </li> <li>form2: <ol> <li>x: <ol> <li>f1: Please type here...</li> </ol> </li> </ol> </li> </ol> </li> <li>FACEIPJNOOKDBHIPOPJCMOKAMAEGPJLL: <ol> <li>form1: <ol> <li>f1:</li> <li>x: <ol> <li>f2:</li> </ol> </li> </ol> </li> </ol> </li> <li>EPACCLHIFLEDAPIFKEBJIGKJOEBGKFLP: <ol> <li>form1: <ol> <li>x: <ol> <li>f1:</li> <li>f2:</li> <li>f3: [chartreuse]</li> <li>f4: african</li> <li>f5:</li> </ol> </li> <li>f6:</li> </ol> </li> </ol> </li> <li>OCIEDKOBKJMPNBIPBIJCCNCHCMGLCIBJ: <ol> <li>form1: <ol> <li>x: <ol> <li>f1:</li> <li>f2:</li> <li>f3:</li> </ol> </li> <li>f4:</li> <li>f5:</li> </ol> </li> </ol> </li> <li>PDDJOPHBNGAEODDIFNKBIKBFBGKHFALK: <ol> <li>form1: <ol> <li>x: <ol> <li>f1:</li> <li>f2:</li> <li>f3:</li> <li>f4:</li> <li>f5:</li> <li>f6:</li> </ol> </li> <li>f7:</li> <li>f8:</li> </ol> </li> </ol> </li> <li>GIIJGOOGFFPKKNKAPFDBAEKFHBCHAKGJ: <ol> <li>form1: <ol> <li>x: <ol> <li>f1:</li> <li>f2:</li> <li>f3:</li> </ol> </li> <li>f4:</li> <li>f5:</li> </ol> </li> </ol> </li> </ol> </div></div>