1. Write subs that modify their arguments via direct modification of @_.
  2. The Perl constructs for looping are called map and grep. Nesting them is encouraged, as long as one of the levels uses $_ as the loop variable. Recursion is also useful.
  3. However, while and for may still be used as statement modifiers (perl -wle 'print for (1..10)').
  4. do may be freely used. As long as it isn't paired with while.
  5. The Perl constructs for conditional execution are || and &&. Both may freely be mixed with and and or if doing so saves parentheses.
  6. if is permissible only as a statement modifier.
  7. unless is permissible either as a modifier or if an else is included. But obviously not both.
  8. $x, @x, %x, &x and X are all different; if you use one, you must use them all.
  9. Regular expressions.
  10. Use prototypes to make your subs more like builtins. Then use &sub to override this behaviour.