title: Perl Can't locate Digest/SHA1.pm in @INC error
body: <p>I am new to perl, and I am running into trouble.  I am using mojolicious as a frame work I am running into errors while trying to import a module.</p>
  <pre><code>$self-&gt;plugin('SessionStore' =&gt; Plack::Session::Store::File-&gt;new(dir =&gt; $session_dir)); 
  </code></pre>
  <p>The <code>State.pm</code> file imports <code>use Digest::SHA()</code>;  I am getting an error when the import happens.  Does the <code>Digest</code> directory need to be in the same directory as <code>Plack</code><br />
  Plack is located in <code>/usr/share/perl5/</code> but Digest is located in a different location <code>/usr/lib/x86_64-linux-gnu/perl5/5.26/</code> do they both have to be in the same location?  I have seen where users are using <code>use lib 'path to modules'</code> however this is a perl module i did not create so I do not think that is a good idea.  The actual error states</p>
  <pre><code>Can't load application from file &quot;/web/applications/perlwebapp/script/startapp&quot;:
  Can't locate Digest/SHA1.pm in
  @INC (you may need to install the Digest::SHA1 module)
  (@INC contains: /web/applications/perlwebapp/script/../lib /etc/perl
  /usr/local/lib/x86_64-linux-gnu/perl/5.26.1
  /usr/local/share/perl/5.26.1
  /usr/lib/x86_64-linux-gnu/perl5/5.26
  /usr/share/perl5
  /usr/lib/x86_64-linux-gnu/perl/5.26
  /usr/share/perl/5.26
  /usr/local/lib/site_perl
  /usr/lib/x86_64-linux-gnu/perl-base
  </code></pre>
  <p>The weird issue is <code>/usr/lib/x86_64-linux-gnu/perl5/5.26/</code> is in the <code>@INC</code> but the module in <code>/usr/share/perl5</code> can't see it. If I create a perl script I can <code>use Digest::SHA();</code></p>
  <p>my service file.</p>
  <pre><code>[Service]
  Type=forking
  User=web
  Group=web
  #Environment=PERL5LIB=/usr/lib/x86_64-linux-gnu/perl5/5.26/
  Environment=PERL5LIB=/usr/share/perl5/
  UMask=007
  ExecStart=/web/applications/perlwebapp/local/bin/hypnotoad /web/applications/perlwebapp/script/runapp
  ExecReload=/web/applications/perlwebapp/local/bin/hypnotoad /web/applications/perlwebapp/script/runapp
  ExecStop=/web/applications/perlwebapp/local/bin/hypnotoad --stop /web/applications/perlwebapp/script/runapp
  PIDFile=/web/applications/perlwebapp/script/hypnotoad.pid
  TimeoutStopSec=5
  KillMode=mixed
  </code></pre>
  <p>Application code:</p>
  <pre><code>unless (-d $session_dir){
     make_path($session_dir, {mode =&gt; oct(&quot;0770&quot;)});
   }
  $self-&gt;plugin('Config');
  $self-&gt;plugin('RenderFile');
  $self-&gt;plugin('SessionStore' =&gt; Plack::Session::Store::File-&gt;new(dir =&gt; $session_dir));
  validation_checks($self-&gt;validator);
  </code></pre>