Perl5 リファレンス

       sub BLOCK

       sub NAME

       sub NAME BLOCK
               This is subroutine definition, not a real function
               per se.  With just a NAME (and possibly prototypes
               or attributes), it's just a forward declaration.
               Without a NAME, it's an anonymous function
               declaration, and does actually return a value: the
               CODE ref of the closure you just created.  See the
               perlsub manpage and the perlref manpage for