The gosub keyword is used to run a named subroutine


gosub subroutineName([argument1, ... argumentN])

The argument list may span multiple lines, so long as any given argument is contained on a single line and ends with a comma, eg:

gosub subroutineName (argument1,


The subroutineName provided to the gosub statement must be that of a subroutine defined elsewhere in the script using the subroutine statement.

If any argument contains white-space or a comma then it must be quoted:

gosub getfile("directory with spaces/filename.txt")

It is permitted to call a subroutine from within another subroutine, therefore gosub can be used within the body of a subroutine. This may be done up to 256 levels in depth.

The opening bracket after subroutineName may or may not be preceded with a space:

gosub getfile ("filename.txt")

To call a subroutine with no parameters, use empty brackets:

gosub dosomething()


Please refer to the example in the documentation for the subroutine statement