title: Why is "use" not allowed, as in "use strict;" in Perl 5.14?
body: <p>I am trying to use the following conventions I have been instructed to use for good/proper/safe Perl code for my <code>"Hello, World!"</code> Program:</p>
  
  <pre><code>use strict;
  use warnings;
  </code></pre>
  
  <p>I have created and successfully run the following "Hello World" program using (Strawberry) Perl 5.12 on my main Windows 7 OS:</p>
  
  <pre><code>!#/usr/bin/perl
  use strict;
  use warnings;
  
  print "Hello, World!\n";
  </code></pre>
  
  <p>What I got back, as expected, was <code>"Hello, World!"</code>.</p>
  
  <p>What struck me as very odd was that the same program run in terminal on my virtualized Linux Mint 14 OS, using Perl 5.14, produced the following error:</p>
  
  <pre class="lang-none prettyprint-override"><code>"use" not allowed in expression at /PATH/hello_world.pl line 2, at end of line
  syntax error at /PATH/hello_world.pl line 2, near "use strict"
  BEGIN not safe after errors--compilation aborted at /PATH/hello_world.pl line 3.
  </code></pre>
  
  <p>I created other "Hello World" programs subsequently without either the <code>use strict;</code> or <code>use warnings;</code> lines, and also one with the <code>-w</code>, which I had seen in some tutorials, indicating, if I am not mistaken, that warnings would be turned on.</p>
  
  <p>Both of my alternate versions worked properly in that they produced my expected result:</p>
  
  <pre class="lang-none prettyprint-override"><code>Hello, World!
  </code></pre>
  
  <p>What I cannot be sure of is if I need the <code>use</code> statements in Perl programs from version 5.14 and up or if it is just fine to write the <code>-w</code> at the end of my first line.</p>
  
  <p>I would like to think that I could use a consistent header, so to speak, in all of my Perl programs, whether they are Windows or Linux, Perl 5.12 or 5.14 or otherwise.</p>