It largely depends from whom you learn. Most people google and run with the first thing google throws up and perl has many, MANY (due to its age) really <i>shitty</i> learning resources. Even the most popular one, the book Learning Perl, has as of its 6th edition (2013), grave flaws and miseducates newbies severely.<p>Some comment from the position of someone familiar with Modern Perl, which is largely what&#x27;s practiced on CPAN:<p>&gt; shift() shifts @_ by default<p>This is discouraged, precisely because it messes with @_. It has valid uses, but people tend to make sure it&#x27;s clear from the code why it&#x27;s used. (Mainly in OO helper stuff.)<p>&gt; &lt;&gt; iterates over @ARGV<p>Almost nobody uses that, precisely because it&#x27;s very unreadable. It only exists for compatibility reasons and was made to serve people used to sed&#x2F;awk.<p>&gt; chomp chomps $_<p>I haven&#x27;t seen code use chomp in ages. I&#x27;ve never used it myself.<p>&gt; Messing with @INC changes library search paths, etc.<p>This is rarely used as well. Mainly only when doing release engineering. It&#x27;s also most often done via `use lib &#x27;whatever&#x27;;`.<p><pre><code>    push(@{$TV{$family}{kids}},&quot;anotherkid&quot;);
</code></pre>
That is an outdated way to write that. In a decent modern style it would be written like this:<p><pre><code>    push @{ $TV{ $family }{kids} }, &quot;anotherkid&quot;;
</code></pre>
And with a more modern Perl, this:<p><pre><code>    push $TV{ $family }{kids}, &quot;anotherkid&quot;;</code></pre>