The place where I'm consulting now is thinking about bringing in someone on site to teach an "Advanced Perl" class which will have some advanced topics like "make sure you use strict". It also introduces Perl OO before talking about references. Natually, this raised several red flags with me. So, I was thinking about what would be the essentially things they should learn. The level of most of the Perl programmers is beginner. They can write scripts that execute a query through DBI and are able to format the results. A few of the more advanced programmers have dabbled with objects. Regular expressions are rarely used. Most have learned to use strict and warnings since I don't sign off on QAs without them.
Anyways, I've come up with a preliminary list of things that seemed appropriate to cover. They include:
- Using the standard Perl functions and modules effectively
- Common Perl idioms
- slurping files (and when you shouldn't slurp)
- Schwartzian Transform
- foreach vs. for
- Regular Expressions
- Creating modules
- What does use really do?
- Steps in creating a module
- Unit testing with the Test:: modules
- OO Perl
- The basics of OO Perl
- Useful (or essential) CPAN modules
- Using CPAN
- The usual supects (i.e. LWP, XML::,etc.)
I'm thinking that what I have above would do a good job at taking relatively beginner Perl programmers to the next level. My biggest concern, however, is that I'm missing something. Does anyone see anything that I'm missing or something they think is out of order or something that you're wondering what I must be thinking? I'd appreciate any input you all can give.