<p>I've been working with Perl long enough that many of its idiosyncracies have become second nature to me.  When new programmers join our group, they frequently have little to no experience with Perl, and it's usually my task to train them (to the extent necessary).  I'd like to know what to focus on when training a programmer who is new to Perl but has experience with other languages (this question is meant to be language-agnostic, but most developers I've worked with have come from Java).</p>

<p>A few things occur to me:  </p>

<ul>
<li>The proper use of sigils</li>
<li>Referencing/Dereferencing</li>
<li>Use of list functions like <strong>map</strong>,
<strong>grep</strong>, <strong>sort</strong></li>
</ul>

<p>Is there anything in particular that you've found it useful to focus on when helping a programmer to transition to Perl?  Do you stress the similarities or the differences, or both in equal measure?</p>

I'm a java programmer who recently had to pick up Perl.  The part I found hardest to get used to were all the special built in variables like $_ $~ $' and so on.  Until you get used to them it's hard to keep track of which one does what.
And, of course, the use of regular expressions.
For example, I have to maintain code and when I saw the line below for the first time it was a little confusing.  As a java programmer it looks like gibberish.
```
```
next unless "$_" !~ /^#/;
```
```