title: How Mojolicious modifies Perl syntax
body: <p>Reading Mojolicious <a href="https://mojolicious.io/blog/2018/12/10/minion-stands-alone/" rel="nofollow noreferrer">minions documentation</a> I found the following code:</p>
  <pre><code>use v5.28;
  use Mojolicious::Lite;
  use experimental qw( signatures );
  use Time::HiRes qw( time );
  
  plugin Minion =&gt; {
      SQLite =&gt; 'sqlite:' . app-&gt;home-&gt;child('minion.db'),
  };
  
  # ...
  app-&gt;start;
  </code></pre>
  <p>How did they create a new syntax <code>plugin Minion =&gt; {...}</code>? I've never seen it in classic Perl books. Is it a function call with a hash parameter: &quot;Minion&quot; being a key and a hashref <code>{...}</code> is a value?</p>
  <p>Also they call <code>app-&gt;start</code> - <code>app</code> is a function returning a blessed hashref? But if it was a hash why &quot;start&quot; is not enclosed into braces? This syntax looks strange to me.</p>