Hands-On Perl Scripting and CGI Programming

Similar documents
Perl Scripting. Students Will Learn. Course Description. Duration: 4 Days. Price: $2295

Web Site Development with HTML/JavaScrip

PERL Scripting - Course Contents

1. Introduction. 2. Scalar Data

Beginning Perl. Third Edition. Apress. JAMES LEE with SIMON COZENS

CERTIFICATE IN WEB PROGRAMMING

Course Syllabus. Course Title. Who should attend? Course Description. PHP ( Level 1 (

Microsoft Windows PowerShell v2 For Administrators

Perl (5 Days Content)

UNIX Shell Programming

Programming the World Wide Web by Robert W. Sebesta

PHP CURRICULUM 6 WEEKS

CGI Programming. What is "CGI"?

BASH SHELL SCRIPT 1- Introduction to Shell

Outline. CS3157: Advanced Programming. Feedback from last class. Last plug

PHP + ANGULAR4 CURRICULUM 6 WEEKS

C++ (Non for C Programmer) (BT307) 40 Hours

COURSE 10961B: AUTOMATING ADMINISTRATION WITH WINDOWS POWERSHELL

CSCI-GA Scripting Languages

Best PHP Training in PUNE & Best PHP Training Institute in MAHARASHTRA

Perl. Interview Questions and Answers

CS Exam 1 Review Suggestions - Spring 2017

CENG 256 Internet Programming Draft

This course is intended for Java programmers who wish to write programs using many of the advanced Java features.

This course is designed for web developers that want to learn HTML5, CSS3, JavaScript and jquery.

A Web-Based Introduction

This course is designed for anyone who needs to learn how to write programs in Python.

Automating Administration with Windows PowerShell

INSTITUTE OF AERONAUTICAL ENGINEERING

The Perl Debugger. Avoiding Bugs with Warnings and Strict. Daniel Allen. Abstract

Programming for the Web with PHP

ABOUT WEB TECHNOLOGY COURSE SCOPE:

Govt. of Karnataka, Department of Technical Education Diploma in Computer Science & Engineering. Fifth Semester. Subject: Web Programming

2559 : Introduction to Visual Basic.NET Programming with Microsoft.NET

PowerShell 10961: Automating Administration with Windows PowerShell. Upcoming Dates. Course Description. Course Outline

General Coding Standards

Varargs Training & Software Development Centre Private Limited, Module: HTML5, CSS3 & JavaScript

: 10961C: Automating Administration With Windows PowerShell

USQ/CSC2406 Web Publishing

COMS 3101 Programming Languages: Perl. Lecture 2

Server-side computing

Shankersinh Vaghela Bapu Institue of Technology

SAS Solutions for the Web: Static and Dynamic Alternatives Matthew Grover, S-Street Consulting, Inc.

JavaScript Specialist v2.0 Exam 1D0-735

112. Introduction to JSP

Zend Studio has the reputation of being one of the most mature and powerful

(Frequently Asked Questions)

Automating Administration with Windows PowerShell 2.0

Course Outline. Automating Administration with Windows PowerShell Course 10961B: 5 days Instructor Led

VB.NET. Exercise 1: Creating Your First Application in Visual Basic.NET

CSCI-GA Scripting Languages

CSCI 4152/6509 Natural Language Processing. Perl Tutorial CSCI 4152/6509. CSCI 4152/6509, Perl Tutorial 1

An Introduction to JavaScript & Bootstrap Basic concept used in responsive website development Form Validation Creating templates

10961B: Automating Administration with Windows PowerShell

112-WL. Introduction to JSP with WebLogic

DR B.R.AMBEDKAR UNIVERSITY B.Sc.(Computer Science): III Year THEORY PAPER IV (Elective 4) PHP, MySQL and Apache

Product Page:

Professional Course in Web Designing & Development 5-6 Months

JavaScript CS 4640 Programming Languages for Web Applications

Get in Touch Module 1 - Core PHP XHTML

About the Authors. Who Should Read This Book. How This Book Is Organized

710 Index Attributes, 127 action attribute, 263 assigning, bottom attribute, domain name attribute, 481 expiration date attribute, 480 8


5. Single-row function

JavaScript CS 4640 Programming Languages for Web Applications

C-LANGUAGE CURRICULAM

IT441. Network Services Administration. Data Structures: Arrays

Basics of JavaScript. Last Week. Needs for Programming Capability. Browser as Development Platform. Using Client-side JavaScript. Origin of JavaScript

Windows PowerShell Scripting and Toolmaking

COMP284 Practical 3 Perl (3)

"Charting the Course... Intermediate PHP & MySQL Course Summary

PHP & My SQL Duration-4-6 Months

DOT NET Syllabus (6 Months)

Querying Microsoft SQL Server 2012/2014

Setting Up a Development Server What Is a WAMP, MAMP, or LAMP? Installing a WAMP on Windows Testing the InstallationAlternative WAMPs Installing a

9/22/2017

Introduction to Programming System Design CSCI 455x (4 Units)

Oracle Database 11g: SQL and PL/SQL Fundamentals

Static Webpage Development

INTRODUCTION TO.NET. Domain of.net D.N.A. Architecture One Tier Two Tier Three Tier N-Tier THE COMMON LANGUAGE RUNTIME (C.L.R.)

Outline. Introduction to Perl. Why use scripting languages? What is expressiveness. Why use Java over C

Shell Programming for System Administrators Student Guide

If attending this course via Extended Classroom., the course requires you to have a dual screen setup.

Web Development Course (PHP-MYSQL-HTML5.0)

Type of Classes Nested Classes Inner Classes Local and Anonymous Inner Classes

10961B: Automating Administration with Windows PowerShell

Table of Contents EVALUATION COPY

COURSE OUTLINE: OD10961B Automating Administration with Windows PowerShell

Pod::Usage, pod2usage() - print a usage message from embedded pod documentation

Corporate Training Centre (306)

What is PERL?

MySQL and PHP - Developing Dynamic Web Applications

Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Chapter 11 Introduction to PHP

2793 : Implementing and Maintaining Microsoft SQL Server 2005 Reporting Services

Smashing Node.JS: JavaScript Everywhere

A control expression must evaluate to a value that can be interpreted as true or false.

CSCI 4152/6509 Natural Language Processing Lecture 6: Regular Expressions; Text Processing in Perl

Introduction to PHP. Handling Html Form With Php. Decisions and loop. Function. String. Array

CHAPTER 2. Troubleshooting CGI Scripts

After completing this course, participants will be able to:

Transcription:

Hands-On Course Description This hands on Perl programming course provides a thorough introduction to the Perl programming language, teaching attendees how to develop and maintain portable scripts useful for system management, data manipulation, and Web CGI programming. Emphasis is placed on built-in subroutines that can be used to help conveniently build fast, portable and efficient scripts. Extensive hands on exercises provide practice in report creation, pattern matching, string manipulation, file I/O, command line processing, and debugging. Students are shown how to extend Perl's basic functionality with packages and loadable modules. The final day encompasses CGI scripting with Perl as well as database access using the DBI module. Attendees are shown how to validate form data, how to perform robust database access, and how to generate HTML output in order to create a dynamic web site. Attendees who do not need or want in-depth coverage of CGI scripting and DBI should attend our Perl Scripting course instead. Students Will Learn Language Syntax Pattern Matching Flow Control Arrays & Hashes I/O and File Manipulation Subroutines CGI Scripting using CGI.pm Forms Processing Database Access (DBI) Prerequisites Prior scripting experience or knowledge of fundamental programming concepts. For CGI programming, knowledge of HTML fundamentals and SQL is helpful but not required. Page: 1 of 7

Course Outline Introduction to Perl Origin and Design Goals of Perl Overview of Perl Features Getting and Installing Perl Accessing Documentation via perldoc HTML-Format Reference Documentation Perl Strengths and Limitations Getting Started With Perl Explicit Invocation of the Perl Interpreter Running Perl on UNIX vs. Windows Running Perl from the Command Line Using Command Line Options Using Debug Mode Implicit Invocation of the Perl Interpreter Running and Debugging Perl Scripts Simple and Compound Statements Fundamental Input Techniques Using the print Function to Generate Standard Output Using Variables Scalar Variables Introduction to Standard Data Types Retrieving Standard Input Using the Default Variable $_ Assigning Strings and Numbers to Scalar Variables Declaring Constants for Persistent Values Using strict to Declare Variables Pattern Matching in Perl Regular Expressions in Perl Using Pattern Matching Operators Altering Data with Substitutions in Regular Expressions Using Backreferences to Capture Data from Regular Expression Matching Global and Case-Insensitive Matches Altering Data with Character Translation Using Variables in Patterns Operators Introduction to Fundamental Operators Operator Precedence and Associativity Using the Ternary Operator?: as a Shortcut for the if Statement Using and <> File I/O Operators for Standard Input/Output Using the Shortcut Operators +=, -=, *=, /= String Manipulation String Comparison String Relations Concatenation Substring Manipulation Using chomp and chop to Eliminate EOL Characters Escape Characters for Formatting String Manipulation Functions Page: 2 of 7

Flow Control: Conditional Statements and Looping Conditional Expressions and Logical Operators if/else/elsif and unless Constructing switch/case Equivalent Expressions while Loops and do Loops for and foreach Loops Labels Altering Program Flow with next, last, and redo Trapping Errors with the eval Function Terminating a Script with exit Subroutines and Parameters Simplifying Scripts with Subroutines Defining and Calling a Subroutine Passing Arguments by Value Passing Arguments by Reference Using return to Return a Value Controlling Variable Scope using my and local Keywords Arrays and Hashes Defining Numeric Index Arrays Defining Associative Arrays Sorting Arrays with the sort Function Adding and Deleting Items Using push, pop, shift, and unshift Using slice, splice, and reverse Other Array Manipulation Techniques Looping through an Array Merging Arrays Introduction to Hashes Preallocating Memory to Optimize Hash Performance Packages and Modules The Power of Packages and Modules Introduction to Standard Modules Where to Find Modules on the Internet Installing a Module on UNIX or Windows Creating Packages for Portability Using Packages to Create Isolated Namespaces and to Separate Code File Manipulation Using open and close Difference Between print and write Reading and Writing Arrays Directory Manipulation Using opendir, closedir, readdir, chdir, mkdir and rmdir Input/Output Processing Parsing Input Using Standard Input, Standard Output, and Standard Error String and Field Processing Using Streams and Pipes Using die to Quit with an Error Redirecting Standard Output and Standard Error to a File Getting Standard Input from a File Implementing Command Line Arguments Page: 3 of 7

Reading Command Line Arguments from @ARGV Manipulating Positional Parameters with push, pop, shift Processing Command Line Options with getopt or getopts Analyzing Command Line Argument Values with the Getopt::Std and Getopt::Long Modules Reserved Variables Manipulating Identifiable Options Using GetOptions Perl Report Formatting Defining Report Formats Justifying Text (Left, Right, Center) Using write to Generate Reports Defining here Documents for Report Customization Creating Report Headers Using Built-in Variables to Control Report Appearance Printing Line Numbers on a Report Formatting Multi-Line Output Writing Formatted Text to a File Debugging In Perl Using the Built-in Perl Debugger Starting the Debugger Debugger Command Syntax Checking for Script Syntax Errors Solving Compile-Time Errors Single-Stepping through a Script Executing to Breakpoints Setting Global Watches Printing Values of Variables Listing All Variables Used in the Script Using strict Error Checking Quitting the Debugger Web Architecture and CGI Scripting Overview Static vs. Dynamic Web Pages Serving a Static HTML Web Page Serving a Dynamic HTML Web Page Dynamic Web Page Capabilities The Common Gateway Interface How Server-Side CGI Scripts Work Differences between Client-Side and Server-Side Script Environment Strengths and Weaknesses of Web Programming Languages CGI Scripting with Perl Perl's Role in Distributed Web Applications Using Environment Variables to Control CGI Scripts Communicating with the Web Server Perl CGI Script Instantiation and Invocation Generating Output for the Browser CGI Security Mechanisms Servers and CGI The Apache httpd.conf File Aliasing Standard Directories in Apache Using Standard Apache-Aliased Directories The Default Apache cgi-bin Directory Aliasing CGI-Enabled Directories in Apache Page: 4 of 7

Fundamentals of CGI Scripting with Perl Perl's Role in Distributed Web Applications Using Environment Variables to Control CGI Scripts Communicating with the Web Server Perl CGI Script Instantiation and Invocation Generating Output for the Browser CGI Security Mechanisms The Importance of the "Shebang" Line "Shebang" Line CGI Errors Debugging CGI Errors Linux vs. Windows File Format Errors Setting Linux File Protections Specifying the Page MIME Type Generating Standards-Compliant HTML Generating Dynamic Web Pages Using Perl/CGI Generating Dynamic Web Pages and Dynamic Content The Role of JavaScript Generating JavaScript Using CGI Displaying Data in Tables Using Environment Variables to Control CGI Scripts Displaying Data from Files CGI Output Stream Buffering Dynamic Behavior Based on Query Strings The Query String Part of a URL Parsing the Query String Using Query Strings to Maintain Session State User-Defined Modules and CGI Processing HTML Forms with Perl CGI Creating and Submitting HTML Forms HTML Input Elements Submitting a Form Form Interaction Summary Populating Form Elements Using CGI Processing HTML Forms Characteristics ofmisc BTS Admin the GET Method GET Method Environment Variables Characteristics of the POST Method POST Method Environment Variables Using Form Data Validation to Check Data Values Development Cycle for HTML Forms Dealing with Program Complexity Calendar and Time Functions Step 1 - Algorithm Development Step 2 - Algorithm Application Step 3 - Adding Form Elements Step 4 - Processing Form Elements Using the Perl CGI.pm Module - Introduction Orientation to CGI.pm The Power of Perl-Supplied Routines Simplifying Debugging Page: 5 of 7

Using CGI.pm in Object-Oriented Style Named Parameter Syntax Using CGI.pm in Procedural Style Importing Groups of CGI.pm Methods CGI.pm Output and XHTML Mixing CGI.pm Methods with Standard Perl Custom Tag Generation Form Processing with CGI.pm Classes of CGI.pm Methods Specifying Arguments for HTML Tags Differentiating Blank & Missing Parameters Using Passed Parameters as Numbers Maintaining State with CGI.pm State Information and the Web Using Extra Path Information Using Hidden Fields in Forms Using Client-Side Cookies Setting Cookies Cookie Parameters Setting Cookies from Form Data Deleting Cookies Form Validation and Cookie Storage Cookie Deletion Overcoming Cookie Limitations Using Relational Databases with Perl DBI: Basic RDB and SQL Concepts Multi-Tiered Architecture Database Servers and Connections Database Concepts and Terminology Database Table Components Categories of SQL Statements The SQL INSERT Statement The SQL SELECT Statement The SQL UPDATE and DELETE Statements Determining Whether MySQL Is Running Starting and Controlling MySQL Creating a MySQL Database Installing Perl DBD-mysql and DBI Modules Accessing a Database Using Perl DBI Database Access Life Cycle Using DBI and DBD to Connect to a Database Fundamental Data Storage and Retrieval Strategies DBI Query Syntax Using DBI Methods to Retrieve Database Information Preparing a SQL Statement Executing the SQL Statement Against the Database Fetching the Result Set to Achieve Workable Data in the Perl Script Extracting Data Using an Array Extracting Data Using a Hash Useful Utilities to Aid in Database Development Using Other Modules to Access Databases on the Web Performance Optimization Using ModPerl Page: 6 of 7

Overview of Apache Web Server Functionality Comparing the Speed of CGI Scripting vs. ModPerl Configuring Apache with Perl and ModPerl Apache Strengths and Limitations Using the Apache::Registry Module Extending and Enhancing Apache Functionality Developing Multi-Tiered Web Applications Review of Multi-Tiered Web Application Components Putting It All Together Using High-Level Packages to Assist with Scalability and Maintainability Equipment Requirements (This apply's to our hands-on courses only) BTS always provides equipment to have a very successful Hands-On course. BTS also encourages all attendees to bring their own equipment to the course. This will provide attendees the opportunity to incorporate their own gear into the labs and gain valuable training using their specific equipment. Course Length 5 Days Page: 7 of 7