title: How can I apply a method modifier to a method generated by AUTOLOAD?
body: <p>I have a very interesting predicament.  I am working on a Perl script interface to the CVS repository and have created Perl Objects to represent <code>Modules</code>,<code>Paths</code>, and <code>Files</code>.  Since <code>Modules</code>, <code>Paths</code>, and <code>Files</code> can all have CVS commands issued on them, I set up the <code>AUTOLOAD</code> routine to take any unidentified methods and issue them on the object as if they were CVS commands.</p>
  
  <p>All of these CVS commands are executed exactly the same way, but some of them need special processing done with the output to get the result i desire.</p>
  
  <hr>
  
  <p><em>For example, I want to take the output from the diff command and reformat it before I return it.</em></p>
  
  <p>I am using <code>Moose</code>, so typically this special processing could be done as follows:</p>
  
  <pre><code>after 'diff' =&gt; sub {
      # Reformat output here
  }
  </code></pre>
  
  <p>The problem is... I never explicitly created the <code>diff</code> method since it is being generated by <code>AUTOLOAD</code> and Perl won't let me create a method modifier for it since it technically doesn't exist!</p>
  
  <blockquote>
    <p><strong><em>Is there a way to get this to work how I want?</em></strong></p>
  </blockquote>