I suspect it&#x27;s the wide range of special operators, variables and default arguments.  Knowing, for example, that shift() shifts @_ by default.  That &lt;&gt; iterates over @ARGV.  That chomp chomps $_.  Messing with @INC changes library search paths, etc.<p>Or, perhaps the syntax for dealing with elements in a somewhat deep data structure, like:  push(@{$TV{$family}{kids}},&quot;anotherkid&quot;);<p>Sometimes, people are just griping about regex syntax though, which seems disingenuous, since many languages use the exact same pcre expressions.<p>I like perl, but if it&#x27;s been a while, there&#x27;s definitely some back and forth with books to decipher something I wrote some time ago.