Procedures are sub-routines that do not return a result, and are declared by a procedure statement.
Just like a function, a procedure declaration requires values to be input as parameters inside parentheses, but can also contain no parameter at all. Pre-defined procedures such as ClearAllGlobals and ClearAllLocals have no parameters and therefore present with no parentheses.
But unlike a function, Procedures do not generally return a result upon completion. Any results obtained from the execution of a Procedure are either contained in one or more output arguments, or have another purpose such as writing something to the screen or writing to a file.
Procedures are extremely useful – for breaking long scripts into easily readable smaller sections, and for portions of code that are to be run repeatedly. This allows scripts and processing to be uncluttered and well-structured, easily understood, and easily followed.
When a Procedure is defined in a class, it is commonly called a Method.