Intermediate Perl Table of Contents Intermediate Perl Foreword Preface Structure of This Book Conventions Used in This Book Using Code Examples

Size: px
Start display at page:

Download "Intermediate Perl Table of Contents Intermediate Perl Foreword Preface Structure of This Book Conventions Used in This Book Using Code Examples"

Transcription

1

2 Intermediate Perl Table of Contents Intermediate Perl Foreword Preface Structure of This Book Conventions Used in This Book Using Code Examples Comments and Questions Safari Enabled Acknowledgments Chapter 1. Introduction Section 1.1. What Should You Know Already? Section 1.2. What About All Those Footnotes? Section 1.3. What's with the Exercises? Section 1.4. What If I'm a Perl Course Instructor? Chapter 2. Intermediate Foundations Section 2.1. List Operators Section 2.2. Trapping Errors with eval Section 2.3. Dynamic Code with eval Section 2.4. Exercises Chapter 3. Using Modules Section 3.1. The Standard Distribution Section 3.2. Using Modules Section 3.3. Functional Interfaces Section 3.4. Selecting What to Import Section 3.5. Object-Oriented Interfaces Section 3.6. A More Typical Object-Oriented Module: Math::BigInt Section 3.7. The Comprehensive Perl Archive Network 2

3 Section 3.8. Installing Modules from CPAN Section 3.9. Setting the Path at the Right Time Section Exercises Chapter 4. Introduction to References Section 4.1. Performing the Same Task on Many Arrays Section 4.2. Taking a Reference to an Array Section 4.3. Dereferencing the Array Reference Section 4.4. Getting Our Braces Off Section 4.5. Modifying the Array Section 4.6. Nested Data Structures Section 4.7. Simplifying Nested Element References with Arrows Section 4.8. References to Hashes Section 4.9. Exercises Chapter 5. References and Scoping Section 5.1. More Than One Reference to Data Section 5.2. What If That Was the Name? Section 5.3. Reference Counting and Nested Data Structures Section 5.4. When Reference Counting Goes Bad Section 5.5. Creating an Anonymous Array Directly Section 5.6. Creating an Anonymous Hash Section 5.7. Autovivification Section 5.8. Autovivification and Hashes Section 5.9. Exercises Chapter 6. Manipulating Complex Data Structures Section 6.1. Using the Debugger to View Complex Data Section 6.2. Viewing Complex Data with Data::Dumper Section 6.3. YAML Section 6.4. Storing Complex Data with Storable Section 6.5. Using the map and grep Operators 3

4 Section 6.6. Applying a Bit of Indirection Section 6.7. Selecting and Altering Complex Data Section 6.8. Exercises Chapter 7. Subroutine References Section 7.1. Referencing a Named Subroutine Section 7.2. Anonymous Subroutines Section 7.3. Callbacks Section 7.4. Closures Section 7.5. Returning a Subroutine from a Subroutine Section 7.6. Closure Variables as Inputs Section 7.7. Closure Variables as Static Local Variables Section 7.8. Exercise Chapter 8. Filehandle References Section 8.1. The Old Way Section 8.2. The Improved Way Section 8.3. The Even Better Way Section 8.4. IO::Handle Section 8.5. Directory Handle References Section 8.6. Exercises Chapter 9. Practical Reference Tricks Section 9.1. Review of Sorting Section 9.2. Sorting with Indices Section 9.3. Sorting Efficiently Section 9.4. The Schwartzian Transform Section 9.5. Multi-Level Sort with the Schwartzian Transform Section 9.6. Recursively Defined Data Section 9.7. Building Recursively Defined Data Section 9.8. Displaying Recursively Defined Data Section 9.9. Exercises Chapter 10. Building Larger Programs 4

5 Section The Cure for the Common Code Section Inserting Code with eval Section Using do Section Using require Section require Section The Problem of Namespace Collisions Section Packages as Namespace Separators Section Scope of a Package Directive Section Packages and Lexicals Section Exercises Chapter 11. Introduction to Objects Section If We Could Talk to the Animals... Section Introducing the Method Invocation Arrow Section The Extra Parameter of Method Invocation Section Calling a Second Method to Simplify Things Section A Few Notes Section Overriding the Methods Section Starting the Search from a Different Place Section The SUPER Way of Doing Things Section What to Do Section Where We Are So Far... Section Exercises Chapter 12. Objects with Data Section A Horse Is a Horse, of Course of Courseor Is It? Section Invoking an Instance Method Section Accessing the Instance Data Section How to Build a Horse Section Inheriting the Constructor Section Making a Method Work with Either Classes or Instances 5

6 Section Adding Parameters to a Method Section More Interesting Instances Section A Horse of a Different Color Section Getting Our Deposit Back Section Don't Look Inside the Box Section Faster Getters and Setters Section Getters That Double as Setters Section Restricting a Method to Class-Only or Instance-Only Section Exercise Chapter 13. Object Destruction Section Cleaning Up After Yourself Section Nested Object Destruction Section Beating a Dead Horse Section Indirect Object Notation Section Additional Instance Variables in Subclasses Section Using Class Variables Section Weakening the Argument Section Exercise Chapter 14. Some Advanced Object Topics Section UNIVERSAL Methods Section Testing Our Objects for Good Behavior Section AUTOLOAD as a Last Resort Section Using AUTOLOAD for Accessors Section Creating Getters and Setters More Easily Section Multiple Inheritance Section Exercises Chapter 15. Exporter Section What use Is Doing Section Importing with Exporter Section 6

7 Section %EXPORT_TAGS Section Exporting in a Primarily OO Module Section Custom Import Routines Section Exercises Chapter 16. Writing a Distribution Section There's More Than One Way To Do It Section Using h2xs Section Embedded Documentation Section Controlling the Distribution with Makefile.PL Section Alternate Installation Locations (PREFIX=...) Section Trivial make test Section Trivial make install Section Trivial make dist Section Using the Alternate Library Location Section Exercise Chapter 17. Essential Testing Section More Tests Mean Better Code Section A Simple Test Script Section The Art of Testing Section The Test Harness Section Writing Tests with Test::More Section Testing Object-Oriented Features Section A Testing To-Do List Section Skipping Tests Section More Complex Tests (Multiple Test Scripts) Section Exercise Chapter 18. Advanced Testing Section Testing Large Strings Section Testing Files Section Testing STDOUT or STDERR Section Using Mock Objects 7

8 Section Testing POD Section Coverage Testing Section Writing Your Own Test::* Modules Section Exercises Chapter 19. Contributing to CPAN Section The Comprehensive Perl Archive Network Section Getting Prepared Section Preparing Your Distribution Section Uploading Your Distribution Section Announcing the Module Section Testing on Multiple Platforms Section Consider Writing an Article or Giving a Talk Section Exercise Appendix A. Answers to Exercises Section A.1. Answers for Chapter 2 Section A.2. Answers for Chapter 3 Section A.3. Answers for Chapter 4 Section A.4. Answers for Chapter 5 Section A.5. Answers for Chapter 6 Section A.6. Answer for Chapter 7 Section A.7. Answers for Chapter 8 Section A.8. Answers for Chapter 9 Section A.9. Answers for Chapter 10 Section A.10. Answers for Chapter 11 Section A.11. Answer for Chapter 12 Section A.12. Answer for Chapter 13 Section A.13. Answers for Chapter 14 Section A.14. Answers for Chapter 15 Section A.15. Answer for Chapter 16 Section A.16. Answer for Chapter 17 Section A.17. Answers for Chapter 18 8

9 Section A.18. Answer for Chapter 19 About the Author Colophon Index SYMBOL A B C D E F G H I K L M N O P R S T U V W X Y 9

10 Intermediate Perl By brian d foy, Tom Phoenix, Randal L. Schwartz... Publisher: O'Reilly Pub Date: March 2006 Print ISBN-10: Print ISBN-13: Pages: 278 Table of Contents Index Perl is a versatile, powerful programming language used in a variety of disciplines, ranging from system administration to web programming to database manipulation. One slogan of Perl is that it makes easy things easy and hard things possible. Intermediate Perl is about making the leap from the easy things to the hard ones. Originally released in 2003 as Learning Perl Objects, References, and Modules and revised and updated for Perl 5.8, this book offers a gentle but thorough introduction to intermediate programming in Perl. Written by the authors of the best-selling Learning Perl, it picks up where that book left off. Topics include: Packages and namespaces References and scoping Manipulating complex data structures Object-oriented programming Writing and using modules Testing Perl code Contributing to CPAN Following the successful format of Learning Perl, we designed each chapter in the book to be small enough to be read in just an hour or two, ending with a series of exercises to help you practice what you've learned. To use the book, you just need to be familiar with the material in Learning Perl and have ambition to go further. Perl is a different language to different people. It is a quick scripting tool for some, 10

11 and a fully-featured object-oriented language for others. It is used for everything from performing quick global replacements on text files, to crunching huge, complex sets of scientific data that take weeks to process. Perl is what you make of it. But regardless of what you use Perl for, this book helps you do it more effectively, efficiently, and elegantly. Intermediate Perl is about learning to use Perl as a programming language, and not just a scripting language. This is the book that turns the Perl dabbler into the Perl programmer. 11

12 Intermediate Perl By brian d foy, Tom Phoenix, Randal L. Schwartz... Publisher: O'Reilly Pub Date: March 2006 Print ISBN-10: Print ISBN-13: Pages: 278 Table of Contents Index Intermediate Perl Foreword Preface Structure of This Book Conventions Used in This Book Using Code Examples Comments and Questions Safari Enabled Acknowledgments Chapter 1. Introduction Section 1.1. What Should You Know Already? Section 1.2. What About All Those Footnotes? Section 1.3. What's with the Exercises? Section 1.4. What If I'm a Perl Course Instructor? Chapter 2. Intermediate Foundations Section 2.1. List Operators Section 2.2. Trapping Errors with eval Section 2.3. Dynamic Code with eval Section 2.4. Exercises Chapter 3. Using Modules Section 3.1. The Standard Distribution Section 3.2. Using Modules Section 3.3. Functional Interfaces 12

13 Section 3.4. Selecting What to Import Section 3.5. Object-Oriented Interfaces Section 3.6. A More Typical Object-Oriented Module: Math::BigInt Section 3.7. The Comprehensive Perl Archive Network Section 3.8. Installing Modules from CPAN Section 3.9. Setting the Path at the Right Time Section Exercises Chapter 4. Introduction to References Section 4.1. Performing the Same Task on Many Arrays Section 4.2. Taking a Reference to an Array Section 4.3. Dereferencing the Array Reference Section 4.4. Getting Our Braces Off Section 4.5. Modifying the Array Section 4.6. Nested Data Structures Section 4.7. Simplifying Nested Element References with Arrows Section 4.8. References to Hashes Section 4.9. Exercises Chapter 5. References and Scoping Section 5.1. More Than One Reference to Data Section 5.2. What If That Was the Name? Section 5.3. Reference Counting and Nested Data Structures Section 5.4. When Reference Counting Goes Bad Section 5.5. Creating an Anonymous Array Directly Section 5.6. Creating an Anonymous Hash Section 5.7. Autovivification Section 5.8. Autovivification and Hashes Section 5.9. Exercises Chapter 6. Manipulating Complex Data Structures Section 6.1. Using the Debugger to View Complex Data Section 6.2. Viewing Complex Data with Data::Dumper Section 6.3. YAML Section 6.4. Storing Complex Data with Storable Section 6.5. Using the map and grep Operators Section 6.6. Applying a Bit of Indirection 13

14 Section 6.7. Selecting and Altering Complex Data Section 6.8. Exercises Chapter 7. Subroutine References Section 7.1. Referencing a Named Subroutine Section 7.2. Anonymous Subroutines Section 7.3. Callbacks Section 7.4. Closures Section 7.5. Returning a Subroutine from a Subroutine Section 7.6. Closure Variables as Inputs Section 7.7. Closure Variables as Static Local Variables Section 7.8. Exercise Chapter 8. Filehandle References Section 8.1. The Old Way Section 8.2. The Improved Way Section 8.3. The Even Better Way Section 8.4. IO::Handle Section 8.5. Directory Handle References Section 8.6. Exercises Chapter 9. Practical Reference Tricks Section 9.1. Review of Sorting Section 9.2. Sorting with Indices Section 9.3. Sorting Efficiently Section 9.4. The Schwartzian Transform Section 9.5. Multi-Level Sort with the Schwartzian Transform Section 9.6. Recursively Defined Data Section 9.7. Building Recursively Defined Data Section 9.8. Displaying Recursively Defined Data Section 9.9. Exercises Chapter 10. Building Larger Programs Section The Cure for the Common Code Section Inserting Code with eval Section Using do Section Using require Section require 14

15 Section The Problem of Namespace Collisions Section Packages as Namespace Separators Section Scope of a Package Directive Section Packages and Lexicals Section Exercises Chapter 11. Introduction to Objects Section If We Could Talk to the Animals... Section Introducing the Method Invocation Arrow Section The Extra Parameter of Method Invocation Section Calling a Second Method to Simplify Things Section A Few Notes Section Overriding the Methods Section Starting the Search from a Different Place Section The SUPER Way of Doing Things Section What to Do Section Where We Are So Far... Section Exercises Chapter 12. Objects with Data Section A Horse Is a Horse, of Course of Courseor Is It? Section Invoking an Instance Method Section Accessing the Instance Data Section How to Build a Horse Section Inheriting the Constructor Section Making a Method Work with Either Classes or Instances Section Adding Parameters to a Method Section More Interesting Instances Section A Horse of a Different Color Section Getting Our Deposit Back Section Don't Look Inside the Box Section Faster Getters and Setters Section Getters That Double as Setters Section Restricting a Method to Class-Only or Instance-Only Section Exercise 15

16 Chapter 13. Object Destruction Section Cleaning Up After Yourself Section Nested Object Destruction Section Beating a Dead Horse Section Indirect Object Notation Section Additional Instance Variables in Subclasses Section Using Class Variables Section Weakening the Argument Section Exercise Chapter 14. Some Advanced Object Topics Section UNIVERSAL Methods Section Testing Our Objects for Good Behavior Section AUTOLOAD as a Last Resort Section Using AUTOLOAD for Accessors Section Creating Getters and Setters More Easily Section Multiple Inheritance Section Exercises Chapter 15. Exporter Section What use Is Doing Section Importing with Exporter Section Section %EXPORT_TAGS Section Exporting in a Primarily OO Module Section Custom Import Routines Section Exercises Chapter 16. Writing a Distribution Section There's More Than One Way To Do It Section Using h2xs Section Embedded Documentation Section Controlling the Distribution with Makefile.PL Section Alternate Installation Locations (PREFIX=...) Section Trivial make test Section Trivial make install Section Trivial make dist 16

17 Section Using the Alternate Library Location Section Exercise Chapter 17. Essential Testing Section More Tests Mean Better Code Section A Simple Test Script Section The Art of Testing Section The Test Harness Section Writing Tests with Test::More Section Testing Object-Oriented Features Section A Testing To-Do List Section Skipping Tests Section More Complex Tests (Multiple Test Scripts) Section Exercise Chapter 18. Advanced Testing Section Testing Large Strings Section Testing Files Section Testing STDOUT or STDERR Section Using Mock Objects Section Testing POD Section Coverage Testing Section Writing Your Own Test::* Modules Section Exercises Chapter 19. Contributing to CPAN Section The Comprehensive Perl Archive Network Section Getting Prepared Section Preparing Your Distribution Section Uploading Your Distribution Section Announcing the Module Section Testing on Multiple Platforms Section Consider Writing an Article or Giving a Talk Section Exercise Appendix A. Answers to Exercises Section A.1. Answers for Chapter 2 Section A.2. Answers for Chapter 3 17

18 Section A.3. Answers for Chapter 4 Section A.4. Answers for Chapter 5 Section A.5. Answers for Chapter 6 Section A.6. Answer for Chapter 7 Section A.7. Answers for Chapter 8 Section A.8. Answers for Chapter 9 Section A.9. Answers for Chapter 10 Section A.10. Answers for Chapter 11 Section A.11. Answer for Chapter 12 Section A.12. Answer for Chapter 13 Section A.13. Answers for Chapter 14 Section A.14. Answers for Chapter 15 Section A.15. Answer for Chapter 16 Section A.16. Answer for Chapter 17 Section A.17. Answers for Chapter 18 Section A.18. Answer for Chapter 19 About the Author Colophon Index 18

19 Intermediate Perl by Randal L. Schwartz, brian d foy, and Tom Phoenix Copyright (c) 2006, 2003 O'Reilly Media, Inc. All rights reserved. Printed in the United States of America. Published by O'Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA O'Reilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (safari.oreilly.com). For more information, contact our corporate/institutional sales department: (800) or corporate@oreilly.com. Editors: Allison Randal and Tatiana Apandi Production Editor: Darren Kelly Copyeditor: Proofreader: Indexer: Cover Designer: Interior Designer: Illustrators: Chris Downey Nancy Reinhardt Angela Howard Karen Montgomery David Futato Robert Romano, Jessamyn Read, and Lesley Borash Printing History: June 2003: March 2006: First Edition, published as Learning Perl Objects, References & Modules. Second Edition. 19

20 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 contained herein. ISBN: [M] 20

Learning Perl Objects, References, and Modules

Learning Perl Objects, References, and Modules Learning Perl Objects, References, and Modules Randal L. Schwartz with Tom Phoenix HLuHB Darmstadt Illlllllllllllllllllllll 15760214 O'REILLY* Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo

More information

Getting Started with Processing by Casey Reas and Ben Fry

Getting Started with Processing by Casey Reas and Ben Fry Free Sampler Getting Started with Processing by Casey Reas and Ben Fry Copyright 2010 Casey Reas and Ben Fry. All rights reserved. Printed in the United States of America. Published by O Reilly Media,

More information

THIRD EDITION CSS. Pocket Reference. Eric A. Meyer. Beijing Cambridge Farnham Köln Paris Sebastopol Taipei Tokyo

THIRD EDITION CSS. Pocket Reference. Eric A. Meyer. Beijing Cambridge Farnham Köln Paris Sebastopol Taipei Tokyo THIRD EDITION CSS Pocket Reference Eric A. Meyer Beijing Cambridge Farnham Köln Paris Sebastopol Taipei Tokyo CSS Pocket Reference, Third Edition by Eric A. Meyer Copyright 2008 O Reilly Media, Inc. All

More information

Intermediate Perl By Randal L. Schwartz, Tom Phoenix

Intermediate Perl By Randal L. Schwartz, Tom Phoenix Intermediate Perl By Randal L. Schwartz, Tom Phoenix Talk:Intermediate Perl - Wikipedia - This article is within the scope of WikiProject Perl, a collaborative effort to write Perl programs for using and

More information

CP150 - Advanced Perl Programming

CP150 - Advanced Perl Programming Corder Enterprises International Building World Class MIS Teams, for you! CP150 - Advanced Perl Programming Course Description: Perl has evolved from its beginnings as an eclectic scripting tool for UNIX

More information

Building Android Apps with HTML, CSS, and JavaScript

Building Android Apps with HTML, CSS, and JavaScript SECOND EDITION Building Android Apps with HTML, CSS, and JavaScript Jonathan Stark with Brian Jepson Beijing Cambridge Farnham Köln Sebastopol Tokyo Building Android Apps with HTML, CSS, and JavaScript,

More information

SQL. Draft Version. Head First. A Brain-Friendly Guide. Lynn Beighley. A learner s companion to database programming using SQL

SQL. Draft Version. Head First. A Brain-Friendly Guide. Lynn Beighley. A learner s companion to database programming using SQL A Brain-Friendly Guide Load important concepts directly into your brain Head First SQL A learner s companion to database programming using SQL Avoid embarrassing mistakes Master out of this world concepts

More information

COMS 3101 Programming Languages: Perl. Lecture 6

COMS 3101 Programming Languages: Perl. Lecture 6 COMS 3101 Programming Languages: Perl Lecture 6 Fall 2013 Instructor: Ilia Vovsha http://www.cs.columbia.edu/~vovsha/coms3101/perl Lecture Outline Concepts: Subroutine references Symbolic references Saving

More information

Jakarta Struts. Pocket Reference. Chuck Cavaness and Brian Keeton. Beijing Boston Farnham Sebastopol Tokyo

Jakarta Struts. Pocket Reference. Chuck Cavaness and Brian Keeton. Beijing Boston Farnham Sebastopol Tokyo Jakarta Struts Pocket Reference Chuck Cavaness and Brian Keeton Beijing Boston Farnham Sebastopol Tokyo Jakarta Struts Pocket Reference by Chuck Cavaness and Brian Keeton Copyright 2003 O Reilly & Associates,

More information

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

Perl Scripting. Students Will Learn. Course Description. Duration: 4 Days. Price: $2295 Perl Scripting Duration: 4 Days Price: $2295 Discounts: We offer multiple discount options. Click here for more info. Delivery Options: Attend face-to-face in the classroom, remote-live or on-demand streaming.

More information

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

Beginning Perl. Third Edition. Apress. JAMES LEE with SIMON COZENS Beginning Perl Third Edition JAMES LEE with SIMON COZENS Apress About the Author... About the Technical Reviewers Acknowledgements Suitrod yetion «. xvi xvii xviii «xix. Chapter 1: First Steps in Perl..

More information

CSS Cookbook By Christopher Schmitt... Publisher: O'Reilly Pub Date: October 01, 2006 ISBN-10: ISBN-13: Pages: 528

CSS Cookbook By Christopher Schmitt... Publisher: O'Reilly Pub Date: October 01, 2006 ISBN-10: ISBN-13: Pages: 528 1 CSS Cookbook By Christopher Schmitt... Publisher: O'Reilly Pub Date: October 01, 2006 ISBN-10: 0-596-52741-1 ISBN-13: 978-0-596-52741-9 Pages: 528 Table of Contents Index As the industry standard method

More information

Course Outline. Advanced Perl Programming. Course Description: Pre-requisites: Course Content: Tel: +44 (0) Fax: +44 (0)

Course Outline. Advanced Perl Programming. Course Description: Pre-requisites: Course Content: Tel: +44 (0) Fax: +44 (0) Advanced Perl Programming Course Description: This two-day course builds on Perl Introduction/Intermediate. It consolidates the constructs included in that course, explores more advanced use of arrays,

More information

Want to read more? You can buy this book at oreilly.com in print and ebook format. Buy 2 books, get the 3rd FREE!

Want to read more? You can buy this book at oreilly.com in print and ebook format. Buy 2 books, get the 3rd FREE! Want to read more? You can buy this book at oreilly.com in print and ebook format. Buy 2 books, get the 3rd FREE! Use discount code: OPC10 All orders over $29.95 qualify for free shipping within the US.

More information

BIG BOOK OF. Windows Hacks. Preston Gralla. Tips & Tools for unlocking the power of your Windows PC

BIG BOOK OF. Windows Hacks. Preston Gralla. Tips & Tools for unlocking the power of your Windows PC BIG BOOK OF Windows Hacks Preston Gralla Tips & Tools for unlocking the power of your Windows PC Big Book of Windows Hacks First Edition Preston Gralla BEIJING CAMBRIDGE FARNHAM KÖLN PARIS SEBASTOPOL TAIPEI

More information

COMS 3101 Programming Languages: Perl. Lecture 5

COMS 3101 Programming Languages: Perl. Lecture 5 COMS 3101 Programming Languages: Perl Lecture 5 Fall 2013 Instructor: Ilia Vovsha http://www.cs.columbia.edu/~vovsha/coms3101/perl Lecture Outline Packages & Modules Concepts: Subroutine references Symbolic

More information

Perl (5 Days Content)

Perl (5 Days Content) Perl (5 Days Content) Pre-requisites: Knowledge of any programming language ( C / C++ / Shell Scripting) Objective of the Course: The participants should be in a position to understand Perl Scripts written

More information

Kubernetes: Up and Running

Kubernetes: Up and Running Kubernetes: Up and Running Dive into the Future of Infrastructure This Excerpt contains Chapter 4 of Kubernetes: Up and Running. The final book is available on Safari and through other retailers. Kelsey

More information

runs all the testscripts named as arguments and checks standard output for the expected strings in TAP format.

runs all the testscripts named as arguments and checks standard output for the expected strings in TAP format. NAME VERSION SYNOPSIS Test::Harness - Run Perl standard test scripts with statistics Version 2.64 DESCRIPTION Taint mode use Test::Harness; runtests(@test_files); STOP! If all you want to do is write a

More information

Object Oriented Programming with Perl

Object Oriented Programming with Perl Object Oriented Programming with Perl Yet Another Perl Conference Amsterdam, August 2 4, 2001 2001 Squirrel Consultancy. All rights reserved. Object Oriented Programming with Perl Preface 2001 Squirrel

More information

TH IRD EDITION. Python Cookbook. David Beazley and Brian K. Jones. O'REILLY. Beijing Cambridge Farnham Köln Sebastopol Tokyo

TH IRD EDITION. Python Cookbook. David Beazley and Brian K. Jones. O'REILLY. Beijing Cambridge Farnham Köln Sebastopol Tokyo TH IRD EDITION Python Cookbook David Beazley and Brian K. Jones O'REILLY. Beijing Cambridge Farnham Köln Sebastopol Tokyo Table of Contents Preface xi 1. Data Structures and Algorithms 1 1.1. Unpacking

More information

Nihilistic to Altruistic. The Life of a Perl Module

Nihilistic to Altruistic. The Life of a Perl Module Nihilistic to Altruistic The Life of a Perl Module Why Write a Module? I d like to organize my code. I d like to segment my code into reusable components. I d like to share my work with others. I d like

More information

PERL Scripting - Course Contents

PERL Scripting - Course Contents PERL Scripting - Course Contents Day - 1 Introduction to PERL Comments Reading from Standard Input Writing to Standard Output Scalar Variables Numbers and Strings Use of Single Quotes and Double Quotes

More information

Programming Clojure. Extracted from: Second Edition. The Pragmatic Bookshelf

Programming Clojure. Extracted from: Second Edition. The Pragmatic Bookshelf Extracted from: Programming Clojure Second Edition This PDF file contains pages extracted from Programming Clojure, published by the Pragmatic Bookshelf. For more information or to purchase a paperback

More information

Mastering Perl. Stonehenge. by brian d foy Stonehenge Consulting Services, Inc. version 1.6 February 2, 2009

Mastering Perl. Stonehenge. by brian d foy Stonehenge Consulting Services, Inc. version 1.6 February 2, 2009 Mastering Perl by brian d foy Stonehenge Consulting Services, Inc. version 1.6 February 2, 2009 Introduction Table of Contents About this course The path to mastery Sec1:2 Sec1:3 Modulinos Programs versus

More information

Programming Perl By Randal L. Schwartz, Tom Christiansen

Programming Perl By Randal L. Schwartz, Tom Christiansen Programming Perl By Randal L. Schwartz, Tom Christiansen Perl is a powerful programming language that has grown In my last post, Tim O'Reilly, Programming Perl, and EconTalk, I didn't mention the other

More information

Hello! Python. Anthony Briggs MANNING SHELTER ISLAND

Hello! Python. Anthony Briggs MANNING SHELTER ISLAND Hello! Python Hello! Python Anthony Briggs MANNING SHELTER ISLAND For online information and ordering of this and other Manning books, please visit www.manning.com. The publisher offers discounts on this

More information

Pragmatic Guide to Sass

Pragmatic Guide to Sass Extracted from: Pragmatic Guide to Sass This PDF file contains pages extracted from Pragmatic Guide to Sass, published by the Pragmatic Bookshelf. For more information or to purchase a paperback or PDF

More information

Other resources from O Reilly

Other resources from O Reilly Learning Python Other resources from O Reilly Related titles Programming Python Python Cookbook Python in a Nutshell Python Pocket Reference Twisted Network Programming Essentials oreilly.com oreilly.com

More information

package YourModule; require = = qw(munge frobnicate); # symbols to export on request

package YourModule; require = = qw(munge frobnicate); # symbols to export on request NAME SYNOPSIS Exporter - Implements default import method for modules In module YourModule.pm: require Exporter; @EXPORT_OK = qw(munge frobnicate); # symbols to export on request or use Exporter 'import';

More information

CS 105 Perl: Completing the Toolbox

CS 105 Perl: Completing the Toolbox CS 105 Perl: Completing the Toolbox March 4, 2013 Agenda autodie with open Inspecting scalars perl -c Unary coercion Topicalization ~~ Unique list idiom Schwartzian Transform Using // for defaults and

More information

Perl Library Functions

Perl Library Functions Perl Library Functions Perl has literally hundreds of functions for all kinds of purposes: file manipulation, database access, network programming, etc. etc. It has an especially rich collection of functions

More information

CSE : Python Programming

CSE : Python Programming CSE 399-004: Python Programming Lecture 2: Data, Classes, and Modules January 22, 2007 http://www.seas.upenn.edu/~cse39904/ Administrative things Teaching assistant Brian Summa (bsumma @ seas.upenn.edu)

More information

Node.js 8 the Right Way

Node.js 8 the Right Way Extracted from: Node.js 8 the Right Way Practical, Server-Side JavaScript That Scales This PDF file contains pages extracted from Node.js 8 the Right Way, published by the Pragmatic Bookshelf. For more

More information

NAME SYNOPSIS. Perl version documentation - Pod::Parser. Pod::Parser - base class for creating POD filters and translators.

NAME SYNOPSIS. Perl version documentation - Pod::Parser. Pod::Parser - base class for creating POD filters and translators. NAME SYNOPSIS Pod::Parser - base class for creating POD filters and translators use Pod::Parser; package MyParser; @ISA = qw(pod::parser); sub command { my ($parser, $command, $paragraph, $line_num) =

More information

Perl Distilled. Introduction. References. December 2010 Martin Jones. Copyright 2010 Ignition Training LLC, Some Rights Reserved

Perl Distilled. Introduction. References. December 2010 Martin Jones. Copyright 2010 Ignition Training LLC, Some Rights Reserved Introduction Perl Distilled December 2010 Martin Jones Using a programming language requires a programmer to possess a model of how that language works. Knowing the model does not preclude working to the

More information

Automate with Grunt. Extracted from: The Build Tool for JavaScript. The Pragmatic Bookshelf

Automate with Grunt. Extracted from: The Build Tool for JavaScript. The Pragmatic Bookshelf Extracted from: Automate with Grunt The Build Tool for JavaScript This PDF file contains pages extracted from Automate with Grunt, published by the Pragmatic Bookshelf. For more information or to purchase

More information

NAME SYNOPSIS. Perl version documentation - Pod::Parser. Pod::Parser - base class for creating POD filters and translators.

NAME SYNOPSIS. Perl version documentation - Pod::Parser. Pod::Parser - base class for creating POD filters and translators. NAME SYNOPSIS Pod::Parser - base class for creating POD filters and translators use Pod::Parser; package MyParser; @ISA = qw(pod::parser); sub command { my ($parser, $command, $paragraph, $line_num) =

More information

1. Introduction. 2. Scalar Data

1. Introduction. 2. Scalar Data 1. Introduction What Does Perl Stand For? Why Did Larry Create Perl? Why Didn t Larry Just Use Some Other Language? Is Perl Easy or Hard? How Did Perl Get to Be So Popular? What s Happening with Perl Now?

More information

ava with Object-Oriented Generic Programming+ Java Java with Object-Oriented + Generic Programming by Paul S. Wang sofpower.com

ava with Object-Oriented Generic Programming+ Java Java with Object-Oriented + Generic Programming by Paul S. Wang sofpower.com J Java J with Object-Oriented Generic Programming+ ava Java with by Paul S. Wang Object-Oriented + Generic Programming sofpower.com Java with Object-oriented and Generic Programming Paul S. Wang Department

More information

Distributed and Parallel Computing with Ruby

Distributed and Parallel Computing with Ruby Extracted from: The druby Book Distributed and Parallel Computing with Ruby This PDF file contains pages extracted from The druby Book, published by the Pragmatic Bookshelf. For more information or to

More information

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

CSCI 4152/6509 Natural Language Processing Lecture 6: Regular Expressions; Text Processing in Perl Lecture 6 p.1 Faculty of Computer Science, Dalhousie University CSCI 4152/6509 Natural Language Processing Lecture 6: Regular Expressions; Text Processing in Perl 18-Jan-2019 Location: LSC Psychology P5260

More information

IT441. Network Services Administration. Data Structures: Arrays

IT441. Network Services Administration. Data Structures: Arrays IT441 Network Services Administration Data Structures: Arrays Data Types Remember there are three basic data types in Perl o Numeric o String o Boolean (Logical) I differentiate between data types and

More information

CSCI-GA Scripting Languages

CSCI-GA Scripting Languages CSCI-GA.3033.003 Scripting Languages 9/20/2013 Context and Modules (Perl) Scripting as Glue 1 Outline Programming in the large Scripting as glue 2 Modules Module = file p/q.pm that starts with declaration

More information

Data::Dumper - stringified perl data structures, suitable for both printing and eval

Data::Dumper - stringified perl data structures, suitable for both printing and eval NAME SYNOPSIS Data::Dumper - stringified perl data structures, suitable for both printing and eval use Data::Dumper; # simple procedural interface print Dumper($foo, $bar); # extended usage with names

More information

# Cow::speak, Horse::speak, Sheep::speak as = qw(cow Cow Horse Sheep Sheep); foreach $animal { &{$animal.

# Cow::speak, Horse::speak, Sheep::speak as = qw(cow Cow Horse Sheep Sheep); foreach $animal { &{$animal. NAME DESCRIPTION perlboot - Beginner's Object-Oriented Tutorial If you're not familiar with objects from other languages, some of the other Perl object documentation may be a little daunting, such as perlobj,

More information

Data::Dumper - stringified perl data structures, suitable for both printing and eval

Data::Dumper - stringified perl data structures, suitable for both printing and eval NAME SYNOPSIS Data::Dumper - stringified perl data structures, suitable for both printing and eval use Data::Dumper; # simple procedural interface print Dumper($foo, $bar); # extended usage with names

More information

Dart for Hipsters. Extracted from: The Pragmatic Bookshelf

Dart for Hipsters. Extracted from: The Pragmatic Bookshelf Extracted from: Dart for Hipsters This PDF file contains pages extracted from Dart for Hipsters, published by the Pragmatic Bookshelf. For more information or to purchase a paperback or PDF copy, please

More information

$bool = $obj->mk_aliases( # create an alias to an existing alias_name => 'method'); # method name

$bool = $obj->mk_aliases( # create an alias to an existing alias_name => 'method'); # method name NAME SYNOPSIS Object::Accessor - interface to create per object accessors ### using the object $obj = Object::Accessor->new; # create object $obj = Object::Accessor->new(@list); # create object with accessors

More information

9/22/2017

9/22/2017 Learning Perl Through Examples Part 2 L1110@BUMC 9/22/2017 Tutorial Resource Before we start, please take a note - all the codes and supporting documents are accessible through: http://rcs.bu.edu/examples/perl/tutorials/

More information

This document was created in February, 2011, and the last major revision was in February, 2013.

This document was created in February, 2011, and the last major revision was in February, 2013. NAME DATE perlootut - Object-Oriented Programming in Perl Tutorial Perl version 5.26.1 documentation - perlootut This document was created in February, 2011, and the last major revision was in February,

More information

Pragmatic Guide to Git

Pragmatic Guide to Git Extracted from: Pragmatic Guide to Git This PDF file contains pages extracted from Pragmatic Guide to Git, published by the Pragmatic Bookshelf. For more information or to purchase a paperback or PDF copy,

More information

CSCE 156 Computer Science II

CSCE 156 Computer Science II CSCE 156 Computer Science II Lab 04 - Classes & Constructors Dr. Chris Bourke Prior to Lab 1. Review this laboratory handout prior to lab. 2. Read Object Creation tutorial: http://download.oracle.com/javase/tutorial/java/javaoo/objectcreation.

More information

Modularity and Reusability II. Packages and modules in Perl

Modularity and Reusability II. Packages and modules in Perl Modularity and Reusability II Packages and modules in Perl Copyright 2006 2009 Stewart Weiss Libraries Imagine a world without libraries. Suppose instead that the only way to find a particular book in

More information

JAVASCRIPT AND JQUERY: AN INTRODUCTION (WEB PROGRAMMING, X452.1)

JAVASCRIPT AND JQUERY: AN INTRODUCTION (WEB PROGRAMMING, X452.1) Technology & Information Management Instructor: Michael Kremer, Ph.D. Class 4 Professional Program: Data Administration and Management JAVASCRIPT AND JQUERY: AN INTRODUCTION (WEB PROGRAMMING, X452.1) AGENDA

More information

Shell Programming for System Administrators Student Guide

Shell Programming for System Administrators Student Guide Shell Programming for System Administrators Student Guide D61776GC21 Edition 2.1 April 2010 D66885 Copyright 2010, Oracle and/or its affiliates. All rights reserved. Disclaimer This document contains proprietary

More information

Praise for Building a Web 2.0 Portal with ASP.NET 3.5

Praise for Building a Web 2.0 Portal with ASP.NET 3.5 Praise for Building a Web 2.0 Portal with ASP.NET 3.5 Omar and his collaborators have applied their awesome talents and a huge amount of time to crafting what might be the most advanced web site yet that

More information

SECOND EDITION. JavaScript. Pocket Reference. David Flanagan. Beijing Cambridge Farnham Köln Paris Sebastopol Taipei Tokyo

SECOND EDITION. JavaScript. Pocket Reference. David Flanagan. Beijing Cambridge Farnham Köln Paris Sebastopol Taipei Tokyo SECOND EDITION JavaScript Pocket Reference David Flanagan Beijing Cambridge Farnham Köln Paris Sebastopol Taipei Tokyo JavaScript Pocket Reference, Second Edition by David Flanagan Copyright 2003, 1998

More information

Developing Android on Android

Developing Android on Android Extracted from: Developing Android on Android Automate Your Device with Scripts and Tasks This PDF file contains pages extracted from Developing Android on Android, published by the Pragmatic Bookshelf.

More information

PREPARING FOR THE FINAL EXAM

PREPARING FOR THE FINAL EXAM PREPARING FOR THE FINAL EXAM CS 1110: FALL 2017 This handout explains what you have to know for the final exam. Most of the exam will include topics from the previous two prelims. We have uploaded the

More information

package owner, which is probably not what you meant. Use braces to disambiguate, as in "This is ${owner} s house". :: '

package owner, which is probably not what you meant. Use braces to disambiguate, as in This is ${owner} s house. :: ' NAME DESCRIPTION Packages perlmod - Perl modules (packages and symbol tables) Perl provides a mechanism for alternative namespaces to protect packages from stomping on each other's variables. In fact,

More information

Florian Müller Jay Brown Jeff Potts. FOREWORDS BY Richard J. Howarth John Newton MANNING.

Florian Müller Jay Brown Jeff Potts. FOREWORDS BY Richard J. Howarth John Newton MANNING. Florian Müller Jay Brown Jeff Potts FOREWORDS BY Richard J. Howarth John Newton MANNING CMIS and Apache Chemistry in Action CMIS and Apache Chemistry in Action FLORIAN MÜLLER JAY BROWN JEFF POTTS MANNING

More information

@EXPORT_OK = qw(munge frobnicate); # symbols to export on request

@EXPORT_OK = qw(munge frobnicate); # symbols to export on request NAME Exporter - Implements default import method for modules SYNOPSIS In module YourModule.pm: package YourModule; require Exporter; @ISA = qw(exporter); @EXPORT_OK = qw(munge frobnicate); # symbols to

More information

data structures minimal matching threading data parsing references objects modules package implementation

data structures minimal matching threading data parsing references objects modules package implementation Learning Perl, better known as "the Llama book", starts the programmer on the way to mastery. Written by three prominent members of the Perl community who each have several years of experience teaching

More information

use attributes (); # optional, to get subroutine declarations = attributes::get(\&foo);

use attributes (); # optional, to get subroutine declarations = attributes::get(\&foo); NAME SYNOPSIS attributes - get/set subroutine or variable attributes sub foo : method ; my ($x,@y,%z) : Bent = 1; my $s = sub : method {... ; use attributes (); # optional, to get subroutine declarations

More information

JavaScript. History. Adding JavaScript to a page. CS144: Web Applications

JavaScript. History. Adding JavaScript to a page. CS144: Web Applications JavaScript Started as a simple script in a Web page that is interpreted and run by the browser Supported by most modern browsers Allows dynamic update of a web page More generally, allows running an arbitrary

More information

Tutorial 02: Writing Source Code

Tutorial 02: Writing Source Code Tutorial 02: Writing Source Code Contents: 1. Generating a constructor. 2. Generating getters and setters. 3. Renaming a method. 4. Extracting a superclass. 5. Using other refactor menu items. 6. Using

More information

COMS 3101 Programming Languages: Perl. Lecture 2

COMS 3101 Programming Languages: Perl. Lecture 2 COMS 3101 Programming Languages: Perl Lecture 2 Fall 2013 Instructor: Ilia Vovsha http://www.cs.columbia.edu/~vovsha/coms3101/perl Lecture Outline Control Flow (continued) Input / Output Subroutines Concepts:

More information

Contents. Figures. Tables. Examples. Foreword. Preface. 1 Basics of Java Programming 1. xix. xxi. xxiii. xxvii. xxix

Contents. Figures. Tables. Examples. Foreword. Preface. 1 Basics of Java Programming 1. xix. xxi. xxiii. xxvii. xxix PGJC4_JSE8_OCA.book Page ix Monday, June 20, 2016 2:31 PM Contents Figures Tables Examples Foreword Preface xix xxi xxiii xxvii xxix 1 Basics of Java Programming 1 1.1 Introduction 2 1.2 Classes 2 Declaring

More information

Overview of the Ruby Language. By Ron Haley

Overview of the Ruby Language. By Ron Haley Overview of the Ruby Language By Ron Haley Outline Ruby About Ruby Installation Basics Ruby Conventions Arrays and Hashes Symbols Control Structures Regular Expressions Class vs. Module Blocks, Procs,

More information

PS1-MOPS SOURCE CODE DOCUMENTATION

PS1-MOPS SOURCE CODE DOCUMENTATION PS1-MOPS SOURCE CODE DOCUMENTATION DRAFT D. Chang Institute for Astronomy University of Hawaii at Manoa An overview of using Doxygen to processed embedded documentation in PS1-MOPS Perl source code is

More information

Computer Science 2 Lecture 4 Inheritance: Trinidad Fruit Stand 02/15/2014 Revision : 1.7

Computer Science 2 Lecture 4 Inheritance: Trinidad Fruit Stand 02/15/2014 Revision : 1.7 Computer Science 2 Lecture 4 Inheritance: Trinidad Fruit Stand 02/15/2014 Revision : 1.7 1 Problem Ralph owns the Trinidad Fruit Stand that sells its fruit on the street, and he wants to use a computer

More information

Classnote for COMS6100

Classnote for COMS6100 Classnote for COMS6100 Yiting Wang 3 November, 2016 Today we learn about subroutines, references, anonymous and file I/O in Perl. 1 Subroutines in Perl First of all, we review the subroutines that we had

More information

SEER AKADEMI LINUX PROGRAMMING AND SCRIPTINGPERL 7

SEER AKADEMI LINUX PROGRAMMING AND SCRIPTINGPERL 7 SEER AKADEMI LINUX PROGRAMMING AND SCRIPTINGPERL 7 Hi everyone once again welcome to this lecture we are actually the course is Linux programming and scripting we have been talking about the Perl, Perl

More information

Making of. cosair.org. Darko Obradovic

Making of. cosair.org. Darko Obradovic Making of cosair.org Darko Obradovic darko@kaiserslautern.pm.org Complex Strategy AI Research & Education What is the State of the Art? Board Game AI Computer Game AI What exactly is complex? Complexity

More information

Oracle 10g: Java Programming

Oracle 10g: Java Programming Oracle 10g: Java Programming Volume 1 Student Guide D17249GC12 Edition 1.2 July 2005 D19367 Author Kate Heap Technical Contributors and Reviewers Ken Cooper Brian Fry Jeff Gallus Glenn Maslen Gayathri

More information

crm-now/ps Webforms Webdesigner Manual Second Edition

crm-now/ps Webforms Webdesigner Manual Second Edition crm-now/ps Webforms Second Edition crm-now/ps Webforms: Copyright 2011 crm-now GmbH Revision History Revision 01 2006-10-12 Second Edition Revision 02 2011-06-15 New Web Site Interface crm-now GmbH, www.crm-now.com

More information

Collections, Maps and Generics

Collections, Maps and Generics Collections API Collections, Maps and Generics You've already used ArrayList for exercises from the previous semester, but ArrayList is just one part of much larger Collections API that Java provides.

More information

,ch Page ix Friday, December 1, :56 AM. Chapter 2. Preface

,ch Page ix Friday, December 1, :56 AM. Chapter 2. Preface ,ch00.9665 Page ix Friday, December 1, 2006 9:56 AM Chapter 2 Preface When the topic of this book was first presented to me, I dismissed it as something that was already covered by the plentiful documentation

More information

Table of Contents Index

Table of Contents Index 1 MapPoint in.net By Chandu Thota... Publisher: O'Reilly Pub Date: December 2005 Print ISBN-10: 0-596-00906-2 Print ISBN-13: 978-0-59-600906-9 Pages: 372 Table of Contents Index Interactive web maps generated

More information

Reactive Programming with RxJS 5

Reactive Programming with RxJS 5 Extracted from: Reactive Programming with RxJS 5 Untangle Your Asynchronous JavaScript Code This PDF file contains pages extracted from Reactive Programming with RxJS 5, published by the Pragmatic Bookshelf.

More information

Agile Database Techniques Effective Strategies for the Agile Software Developer. Scott W. Ambler

Agile Database Techniques Effective Strategies for the Agile Software Developer. Scott W. Ambler Agile Database Techniques Effective Strategies for the Agile Software Developer Scott W. Ambler Agile Database Techniques Effective Strategies for the Agile Software Developer Agile Database Techniques

More information

Node.js Training JavaScript. Richard richardrodger.com

Node.js Training JavaScript. Richard richardrodger.com Node.js Training JavaScript Richard Rodger @rjrodger richardrodger.com richard.rodger@nearform.com A New Look at JavaScript Embracing JavaScript JavaScript Data Structures JavaScript Functions Functional

More information

Object-Oriented-Programming! (OOP)

Object-Oriented-Programming! (OOP) Object-Oriented-Programming! (OOP) Basically it s all about abstraction & information hiding n Good programs consist of layer upon layer of reusable code (think of software tools). n The programmer should

More information

Hands-On Perl Scripting and CGI Programming

Hands-On Perl Scripting and CGI Programming 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

More information

JAVA CONCEPTS Early Objects

JAVA CONCEPTS Early Objects INTERNATIONAL STUDENT VERSION JAVA CONCEPTS Early Objects Seventh Edition CAY HORSTMANN San Jose State University Wiley CONTENTS PREFACE v chapter i INTRODUCTION 1 1.1 Computer Programs 2 1.2 The Anatomy

More information

JavaScript. Training Offer for JavaScript Introduction JavaScript. JavaScript Objects

JavaScript. Training Offer for JavaScript Introduction JavaScript. JavaScript Objects JavaScript CAC Noida is an ISO 9001:2015 certified training center with professional experience that dates back to 2005. The vision is to provide professional education merging corporate culture globally

More information

Pragmatic Guide to Sass 3

Pragmatic Guide to Sass 3 Extracted from: Pragmatic Guide to Sass 3 Tame the Modern Style Sheet This PDF file contains pages extracted from Pragmatic Guide to Sass 3, published by the Pragmatic Bookshelf. For more information or

More information

Copyright 2018 by Pearson Education Inc. or its affiliates. All Rights Reserved.

Copyright 2018 by Pearson Education Inc. or its affiliates. All Rights Reserved. Copyright Copyright 2018 by Pearson Education Inc. or its affiliates. All Rights Reserved. This digital publication is protected by copyright, and permission should be obtained from the publisher prior

More information

PTN-202: Advanced Python Programming Course Description. Course Outline

PTN-202: Advanced Python Programming Course Description. Course Outline PTN-202: Advanced Python Programming Course Description This 4-day course picks up where Python I leaves off, covering some topics in more detail, and adding many new ones, with a focus on enterprise development.

More information

Agile Web Development with Rails 5

Agile Web Development with Rails 5 Extracted from: Agile Web Development with Rails 5 This PDF file contains pages extracted from Agile Web Development with Rails 5, published by the Pragmatic Bookshelf. For more information or to purchase

More information

OO design. Classes, Responsibilities, Collaborations (CRC) 13/9/1999 COSC

OO design. Classes, Responsibilities, Collaborations (CRC) 13/9/1999 COSC OO design Classes, Responsibilities, Collaborations (CRC) 1 bank accounts the system to be modelled: bank accounts with differing fee structures purpose: evaluate different account types with respect to

More information

Part 1: jquery & History of DOM Scripting

Part 1: jquery & History of DOM Scripting Karl Swedberg: Intro to JavaScript & jquery 0:00:00 0:05:00 0:05:01 0:10:15 0:10:16 0:12:36 0:12:37 0:13:32 0:13:32 0:14:16 0:14:17 0:15:42 0:15:43 0:16:59 0:17:00 0:17:58 Part 1: jquery & History of DOM

More information

JavaScript: Sort of a Big Deal,

JavaScript: Sort of a Big Deal, : Sort of a Big Deal, But Sort of Quirky... March 20, 2017 Lisp in C s Clothing (Crockford, 2001) Dynamically Typed: no static type annotations or type checks. C-Like Syntax: curly-braces, for, semicolons,

More information

HP Exstream Training Catalog. HP Exstream Design & Production 9.0

HP Exstream Training Catalog. HP Exstream Design & Production 9.0 HP Exstream Training Catalog HP Exstream Design & Production 9.0 HP Exstream Training We offer the most robust, hands-on educational experience available, equipping users to fully exploit the rich features

More information

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

Introduction to Programming System Design CSCI 455x (4 Units) Introduction to Programming System Design CSCI 455x (4 Units) Description This course covers programming in Java and C++. Topics include review of basic programming concepts such as control structures,

More information

Al al-bayt University Prince Hussein Bin Abdullah College for Information Technology Computer Science Department

Al al-bayt University Prince Hussein Bin Abdullah College for Information Technology Computer Science Department Al al-bayt University Prince Hussein Bin Abdullah College for Information Technology Computer Science Department 0901212 Python Programming 1 st Semester 2014/2015 Course Catalog This course introduces

More information

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

Pod::Usage, pod2usage() - print a usage message from embedded pod documentation NAME Pod::Usage, pod2usage() - print a usage message from embedded pod documentation SYNOPSIS use Pod::Usage my $message_text = "This text precedes the usage message."; my $exit_status = 2; ## The exit

More information

CS1004: Intro to CS in Java, Spring 2005

CS1004: Intro to CS in Java, Spring 2005 CS1004: Intro to CS in Java, Spring 2005 Lecture #13: Java OO cont d. Janak J Parekh janak@cs.columbia.edu Administrivia Homework due next week Problem #2 revisited Constructors, revisited Remember: a

More information

We d like to hear your suggestions for improving our indexes. Send to

We d like to hear your suggestions for improving our indexes. Send  to Index [ ] (brackets) wildcard, 12 { } (curly braces) in variables, 41 ( ) (parentheses) in variables, 41 += (append) operator, 45 * (asterisk) wildcard, 12 $% automatic variable, 16 $+ automatic variable,

More information