Copied from http://juerd.nl/site.plp/perladvice:
Here is an incomplete list of things that you will need to understand:
- An object is a reference to a blessed variable.
- A list is not the same as an array.
- There are three main contexts: void context, scalar context
and list context.
- Things are named or anonymous.
- The language is Perl, the implementation is perl. Never write PERL.
- There are different operators for strings and numbers.
- Some operators perform short circuit logical operations, and these
have high and low precedence versions.
- There are lexical variables, package global variables and
package global variables that are always in the main namespace.
- Parameters are expected, arguments are passed.
- An operator is either a unary, binary or ternary operator, or
a list operator.
- A statement consists of one or more expressions.
- You can use alternative delimiters to avoid the leaning toothpick syndrome.
If you understand all this, you have reached at least the level that I think is the absolute minimum required for you to call yourself a "Perl programmer".