Successivo: , Precedente: , Su: Esempi di estensione   [Contenuti][Indice]


17.7.10 Leggere un intero file in una stringa

L’estensione readfile aggiunge una sola funzione di nome readfile(), e un analizzatore di input:

@load "readfile"

Questo è il modo per caricare l’estensione.

risultato = readfile("/qualche/percorso")

L’argomento è il nome del file da leggere. Il valore restituito è una stringa contenente l’intero contenuto del file richiesto. In caso di errore, la funzione restituisce la stringa vuota e imposta ERRNO.

BEGIN { PROCINFO["readfile"] = 1 }

Inoltre, l’estensione aggiunge un analizzatore di input che è attivato se l’elemento PROCINFO["readfile"] esiste. Quando l’analizzatore è attivato, ogni file in input è restituito interamente come $0. La variabile RT è impostata alla stringa nulla.

Ecco un esempio:

@load "readfile"
…
contents = readfile("/percorso/del/file");
if (contents == "" && ERRNO != "") {
    print("problema in lettura file", ERRNO) > "/dev/stderr"
    ...
}