title: Why would shl_load() fail for libraries with Thread Local Storage?
body: <p>Threads in Perl by default take their own local storage for all variables, to minimise the impact of threads on existing non-thread-aware code. In Perl, a thread-shared variable can be created using an attribute:</p>
  
  <pre><code>use threads;
  use threads::shared;
  
  my $localvar;
  my $sharedvar :shared; 
  </code></pre>
  
  <p><strong>HP-UX runtime loader does not support dynamic load of shared libraries that contain (TLS) thread local storage.</strong><br>
  As a result, when attempting to import modules that contain TLS the following error is reported:</p>
  
  <pre>
  "/usr/lib/dld.sl: Can't shl_load() a library containing Thread Local Storage"
  </pre>
  
  <p>So I know why I am getting an error I am just unclear as to why it would be difficult to load a library with TLS?</p>