You are viewing the version of this documentation from Perl 5.33.5.
This is a development release of Perl.
- #sub NAME BLOCK
- #sub NAME (PROTO) BLOCK
- #sub NAME : ATTRS BLOCK
- #sub NAME (PROTO) : ATTRS BLOCK
This is subroutine definition, not a real function per se. Without a BLOCK it's just a forward declaration. Without a NAME, it's an anonymous function declaration, so does return a value: the CODE ref of the closure just created.
See perlsub and perlref for details about subroutines and references; see attributes and Attribute::Handlers for more information about attributes.