I enjoy the occasional course that's
different in its design and specification, and yesterday was one of those - more lectures that training, on intermediate and advanced Perl, for a group of eight delegates who were all well experienced at PHP, but Perl "dabblers" to this point. During the day, we took a number of topics, looked at each, I wrote some examples to explain the principles and my delegates then wrote some code too. Here - for them - is links to the code:
Variables
henry - shows the variable types in Perl - examples with $ @ % & and * - not to forget file handles that don't have an ordical character at the front.
References and Scope
refs - Base use of \ and $ in front of variables to create and use references
ref2 - the power of references in association with "my" and scoping controls
show_acc - a practical example that converts a file into a referenced structure for powerful extraction and reporting
Strings and Regular Expressions
cstr - writing stings with quotes, with your choice of single character delimiter, and your choice of multicharacter delimiter
reg - building up from a straightforward regular expression and making use of many facilities provided
emre - answer / discussion after exercise - keeping it simple at each step, and sparse v greedy
Object Orientation and how it works in Perl
tiny - a framework for the principles
small - first true Object Oriented example in Perl, with blessed references
medium - adding in inheritance where classes are based on each other rather than written from scratch
big - an example that uses the autoloader to provide the ability to handle lots of attributes (properties) without having to write lots of repeating code
Coercion and other miscellanies
codemo - how perl silently converts between data types
fd - where does a variable name end?
shh - reading from a file named on the command line
shhh - using topicalisation and "awk mode" too - run program on each line from a file.
Our public Perl courses are listed
[here] .. and I can run any of those, and course to special agendas too, at our training centre or at your office. And I'm very happy to do lectures too - provided that you realise that you're not going to get as much from a day's lectures as you will from a week's course. But - yes - yesterday was judged a great success. Everyone went away with very specific issues clarified. Everyone got a "new dawn" look at some key features. And everyone enjoyed it too!
(written 2010-11-18, updated 2010-12-04)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
P301 - Variables in Perl [975] Answering ALL the delegate's Perl questions - (2006-12-09)
[1581] What is an lvalue? (Perl, C) - (2008-03-18)
[1946] Variable Types in Perl - (2008-12-15)
[2241] Perl references - $$var and \$var notations - (2009-06-15)
[2374] Lead characters on Perl variable names - (2009-08-24)
[2877] Further more advanced Perl examples - (2010-07-19)
[2972] Some more advanced Perl examples from a recent course - (2010-09-27)
[3430] Sigils - the characters on the start of variable names in Perl, Ruby and Fortran - (2011-09-10)
[4398] Accessing variables across subroutine boundaries - Perl, Python, Java and Tcl - (2015-01-18)
[4608] Introspecion in Perl 6 - (2016-01-02)
P213 - Perl - Creating your own Classes [227] Bellringing and Programming and Objects and Perl - (2005-02-25)
[246] When to bless a Perl variable - (2005-03-15)
[983] Blessing in Perl / Member variable in Ruby - (2006-12-14)
[1320] Perl for Larger Projects - Object Oriented Perl - (2007-08-25)
[1435] Object Oriented Programming in Perl - Course - (2007-11-18)
[1664] Example of OO in Perl - (2008-06-03)
[1864] Object Oriented Perl - First Steps - (2008-11-01)
[1925] Introduction to Object Oriented Programming - (2008-12-06)
[2169] When should I use OO techniques? - (2009-05-11)
[2834] Teaching examples in Perl - third and final part - (2010-06-27)
[2969] What does blessing a variable in Perl mean? - (2010-09-24)
[3098] Learning Object Orientation in Perl through bananas and perhaps Moose - (2010-12-21)
[3833] Learning to use existing classes in Perl - (2012-08-10)
[4607] Classes and object - first steps in Perl 6 - (2016-01-02)
P212 - Perl - More on Character Strings [453] Commenting Perl regular expressions - (2005-09-30)
[583] Remember to process blank lines - (2006-01-31)
[586] Perl Regular Expressions - finding the position and length of the match - (2006-02-02)
[597] Storing a regular expression in a perl variable - (2006-02-09)
[608] Don't expose your regular expressions - (2006-02-15)
[737] Coloured text in a terminal from Perl - (2006-05-29)
[928] C++ and Perl - why did they do it THAT way? - (2006-11-16)
[943] Matching within multiline strings, and ignoring case in regular expressions - (2006-11-25)
[1222] Perl, the substitute operator s - (2007-06-08)
[1230] Commenting a Perl Regular Expression - (2007-06-12)
[1251] Substitute operator / modifiers in Perl - (2007-06-28)
[1305] Regular expressions made easy - building from components - (2007-08-16)
[1336] Ignore case in Regular Expression - (2007-09-08)
[1510] Handling Binary data (.gif file example) in Perl - (2008-01-17)
[1727] Equality and looks like tests - Perl - (2008-07-29)
[1735] Finding words and work boundaries (MySQL, Perl, PHP) - (2008-08-03)
[1947] Perl substitute - the e modifier - (2008-12-16)
[2230] Running a piece of code is like drinking a pint of beer - (2009-06-11)
[2379] Making variables persistant, pretending a database is a variable and other Perl tricks - (2009-08-27)
[2657] Want to do a big batch edit? Nothing beats Perl! - (2010-03-01)
[2801] Binary data handling with unpack in Perl - (2010-06-10)
[2874] Unpacking a Perl string into a list - (2010-07-16)
[2993] Arrays v Lists - what is the difference, why use one or the other - (2010-10-10)
[3100] Looking ahead and behind in Regular Expressions - double matching - (2010-12-23)
[3322] How much has Perl (and other languages) changed? - (2011-06-10)
[3332] DNA to Amino Acid - a sample Perl script - (2011-06-24)
[3411] Single and double quotes strings in Perl - what is the difference? - (2011-08-30)
[3546] The difference between dot (a.k.a. full stop, period) and comma in Perl - (2011-12-09)
[3630] Serialsing and unserialising data for storage and transfer in Perl - (2012-02-28)
[3650] Possessive Regular Expression Matching - Perl, Objective C and some other languages - (2012-03-12)
[3707] Converting codons via Amino Acids to Proteins in Perl - (2012-04-25)
[3927] First match or all matches? Perl Regular Expressions - (2012-11-19)
[4452] Binary data handling - Python and Perl - (2015-03-09)
P202 - Perl Fundamentals [184] MTBF of coffee machines - (2005-01-20)
[748] Getting rid of variables after you have finished with them - (2006-06-06)
[1312] Some one line Perl tips and techniques - (2007-08-21)
[1448] Question on division (Java) - Also Perl, PHP, Python ... - (2007-11-28)
[1726] Hot Courses - Perl - (2008-07-28)
[1826] Perl - Subs, Chop v Chomp, => v , - (2008-10-08)
[2442] Variable storage - Perl, Tcl and Python compared - (2009-10-08)
[2832] Are you learning Perl? Some more examples for you! - (2010-06-27)
[2876] Different perl examples - some corners I rarely explore - (2010-07-18)
[3102] AND and OR operators - what is the difference between logical and bitwise varieties? - (2010-12-24)
[3278] Do I need to initialise variables - programming in C, C++, Perl, PHP, Python, Ruby or Java. - (2011-05-05)
[3329] Perl from basics - (2011-06-20)
[3398] Perl - making best use of the flexibility, but also using good coding standards - (2011-08-19)
[3542] What order are operations performed in, in a Perl expression? - (2011-12-07)
[3574] Perl functions such as chop change their input parameters - (2012-01-10)
[3917] BODMAS - the order a computer evaluates arithmetic expressions - (2012-11-09)
[4324] Learning to program - variables and constants - (2014-11-22)
Some other Articles
Comments in and on Perl - a case for extreme OO programmingMelksham Carnival - getting ready for 2011Databases - why data is split into separate tables, and how to join themINSERT, DELETE, REPLACE and UPDATE - changing the content of SQL tablesObject Orientation in an hour and other Perl LecturesMacBook Air - hardware and system reviewLots of things to do with and within a C++ classC++ - a complete example with polymorphism, and how to split it into project filesZyliana Kyrei CoxLonghope Hotel