I'd start by telling them to always use the magical mantra:
use strict;
use warnings;
They don't need to know why (yet).
Next, I'd introduce them to perldoc and show them the basics of using it (the -f and -q flags, perldoc perl and perldoc perltoc, etc.) They need to know where to look when they have questions.
I'd talk about scalar vs. list context.
I'd introduce them to the basic data types (scalars, arrays, and hashes) and how the sigils follow the context, not the data type!
Introduce $_
and @_
. It's critical to understand $_
because it's used in so many places, often implicitly. @_
is essential to writing subroutines. The other punctuation variables are used far less often and can wait.
Introduce them to regular expressions and get them used to the idea of regexes being first-class objects in Perl.
I'd briefly show them Perl's "diagonal" syntax. Idioms like next unless /foo/
are wonderful once you get use them but seem very alien when coming from other languages, particularly "orthogonal" ones.
You don't need to talk about references right away. Let that wait until they're ready to do things that require data structures. Functions like map
and grep
can wait, too.
Build a solid foundation on the fundamentals. Let them take baby steps for a while, then mix in more advanced features and idioms.