17.7.10 Reading an Entire File

The readfile extension adds a single function named readfile(), and an input parser:

@load "readfile"

This is how you load the extension.

result = readfile("/some/path")

The argument is the name of the file to read. The return value is a string containing the entire contents of the requested file. Upon error, the function returns the empty string and sets ERRNO.

BEGIN { PROCINFO["readfile"] = 1 }

In addition, the extension adds an input parser that is activated if PROCINFO["readfile"] exists. When activated, each input file is returned in its entirety as $0. RT is set to the null string.

Here is an example:

@load "readfile"
...
contents = readfile("/path/to/file");
if (contents == "" && ERRNO != "") {
    print("problem reading file", ERRNO) > "/dev/stderr"
    ...
}