Perl 5 version 6.0 documentation

sub

  • 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 perlsub and perlref for details.