title: Please help me debug SQL::Translator
body: <p>I installed libsql-translator-perl on Ubuntu 15.04 and ran it with</p>
  
  <pre><code>sqlt -f SQLite -t MySql /tmp/test.sql /tmp/out.sql
  </code></pre>
  
  <p>test.sql contains only this:</p>
  
  <pre><code>CREATE TABLE X (id INTEGER);
  </code></pre>
  
  <p>It failed with</p>
  
  <pre><code>Use of uninitialized value $name in pattern match (m//) at /usr/share/perl5/SQL/Translator.pm line 610.
  </code></pre>
  
  <p>I looked at this file, it contains</p>
  
  <pre><code>sub load {
      my $name = shift;
      my @path;
      push @path, "" if $name =~ /::/; # error here
  </code></pre>
  
  <p>The call stack shows that it was called with</p>
  
  <pre><code>SQL::Translator::load(undef, 'SQL::Translator::Producer')
  </code></pre>
  
  <p>from here</p>
  
  <pre><code>sub _load_sub {
      my ($tool, @path) = @_;
  
      my (undef,$module,$func_name) = $tool =~ m/((.*)::)?(\w+)$/;
      if ( my $module = load($module =&gt; @path) ) {                    # &lt;&lt;&lt;&lt;&lt;&lt;&lt;
          my $sub = "$module\::$func_name";
          return wantarray ? ( \&amp;{ $sub }, $sub ) : \&amp;$sub;
      }
      return undef;
  }
  </code></pre>
  
  <p>I don't know enough Perl to unpick this any further. Does anyone know what might be going on? Thanks.</p>