Perl sub Function



This function defines a new subroutine. The arguments shown above follow these rules −

  • NAME is the name of the subroutine. Named subroutines can be predeclared (without an associated code block) with, or without, prototype specifications.

  • Anonymous subroutines must have a definition.

  • PROTO defines the prototype for a function, which will be used when the function is called to validate the supplied arguments.

  • ATTRS define additional information for the parser about the subroutine being declared.


Following is the simple syntax for this function −

sub NAME PROTO ATTRS BLOCK# Named, prototype, attributes, definition
sub NAME ATTRS BLOCK # Named, attributes, definition
sub NAME PROTO BLOCK # Named, prototype, definition
sub NAME BLOCK # Named, definition
sub NAME PROTO ATTRS # Named, prototype, attributes
sub NAME ATTRS # Named, attributes
sub NAME PROTO # Named, prototype
sub NAME # Named
sub PROTO ATTRS BLOCK # Anonymous, prototype, attributes, definition
sub ATTRS BLOCK # Anonymous, attributes, definition
sub PROTO BLOCK # Anonymous, prototype, definition
sub BLOCK # Anonymous, definition

Return Value

This function does not return any value.