Go to the first, previous, next, last section, table of contents.


Historical Features

There are two features of historical awk implementations that gawk supports.

First, it is possible to call the length built-in function not only with no arguments, but even without parentheses!

a = length

is the same as either of

a = length()
a = length($0)

For example:

$ echo abcdef | awk '{ print length }'
-| 6

This feature is marked as "deprecated" in the POSIX standard, and gawk will issue a warning about its use if `--lint' is specified on the command line. (The ability to use length this way was actually an accident of the original Unix awk implementation. If any built-in function used $0 as its default argument, it was possible to call that function without the parentheses. In particular, it was common practice to use the length function in this fashion, and this usage was documented in the awk manual page.)

The other historical feature is the use of either the break statement, or the continue statement outside the body of a while, for, or do loop. Traditional awk implementations have treated such usage as equivalent to the next statement. More recent versions of Unix awk do not allow it. gawk supports this usage if `--traditional' has been specified.

See section Command Line Options, for more information about the `--posix' and `--lint' options.


Go to the first, previous, next, last section, table of contents.