tawk - extension to the awk programming language.

EXTENSIONS

Multiple function value return and assignment lists

More than one value may be returned from a function.
	[ x, y, z ] = funct()

Multiple assignment is also supported.

	[ x, y, z ] = [ z, y, x ]

Allow sexagasmal number notation

The format of a double is tracked through the evaluation of an expression. The format is that of the right most term in an expression. Formats are maintained on output.
		DDD:MM:SS.SSS
		 HH:MM:SS.SSS

		000d00m00.000
		 00h00m00.000

		    00:00.000
		    00m00.000

The sexagasmal number notation is supported in the printf function with a new format specifier.

	printf("%2.2\n", 21.5)
	21:30:00

A value that is read in sexadecimal format will be output in the same format. The units of the value are not changed, the ascii format value is simply read in to an internal representation.

Additional built in functions

seek(file, posn, [from])
seek file to byte position from pointer. returns current position.

if a file is seek'ed before any other io operations it may be used as read/write:

	seek("foo", 0, 0)

	print "XX" > "foo"
	seek("foo", 0, 0)
	getline < "foo"

	print $0 yeilds "XX"

The file name "-" is used to refer to the main input file.