Un ULP (User Language Program) può riutilizzare il codice in altri file ULP tramite la direttiva #include. La sintassi da utilizzare è la seguente:
#include "filename"
Il file filename viene prima cercato nella stessa directory del file di origine corrente (ovvero il file che contiene la direttiva #include). Se non viene trovato qui, viene eseguita la ricerca nelle directory contenute nel percorso della directory ULP.
La profondità include massima è 10.
Ogni direttiva #include viene elaborata una sola volta. Ciò garantisce che non vi siano più definizioni delle stesse variabili o funzioni, che potrebbero causare errori.
Se filename contiene un percorso di directory, è consigliabile utilizzare sempre la barra come separatore di directory (anche in Windows). Si consiglia di evitare le lettere di unità Windows. In questo modo, un ULP verrà eseguito su tutte le piattaforme.
Nel tempo potrebbe accadere che versioni più recenti di EAGLE implementino funzionalità ULP nuove o modificate, che possono causare messaggi di errore quando tale ULP viene eseguita da una versione precedente di EAGLE. Per informare l'utente che questo ULP richiede una determinata versione di EAGLE, un programma ULP può contenere la direttiva #require. La sintassi da utilizzare è la seguente:
#require version
Il parametro version deve essere specificato come una costante reale del modulo
V.RRrr
dove V è il numero di versione, RR è il numero di release e rr è il numero di revisione (facoltativo) (entrambi riempiti con zeri iniziali se sono minori di 10). Ad esempio, se un programma ULP richiede almeno EAGLE versione 4.11r06 (che è la versione beta in cui è stata implementata per la prima volta la direttiva #require), potrebbe utilizzare
#require 4.1106
La direttiva appropriata per la versione 5.1.2 è
#require 5.0102
Ogni ULP deve contenere informazioni sulla sua funzione, su come utilizzarla e sull'autore. La direttiva
#usage text [, text...]
implementa un metodo standard per rendere disponibili queste informazioni. Se la direttiva #usage è presente, il relativo testo (che deve essere una costante stringa) verrà utilizzato nel Pannello di controllo per visualizzare una descrizione del programma.
Se questa informazione deve essere utilizzata da ULP in, ad esempio, una funzione dlgMessageBox(), il testo è disponibile per il programma tramite l'utilizzo di costanti integrati.
Solo la direttiva #usage del file di programma principale (ovvero quello avviato con il comando RUN) avrà effetto. Pertanto, i file include puri possono (e devono) anche avere proprie direttive #usage.
Inserire la direttiva #usage all'inizio del file, per evitare di dover analizzare tutto il resto del testo durante la ricerca delle informazioni da visualizzare.
Se occorre rendere disponibili le informazioni sull'utilizzo in diverse lingue, i testi delle singole lingue devono essere separati da virgole. Ciascuno di questi testi deve iniziare con il codice di due lettere della rispettiva lingua (come indicato dalla funzione language()), seguito da un carattere di due punti e da un numero qualsiasi di spazi vuoti. In assenza di testo idoneo per la lingua utilizzata nel sistema effettivo, verrà utilizzato il primo testo specificato (questo deve essere in genere inglese per rendere il programma accessibile al maggior numero di utenti).
Esempio:
#usage "en: A sample ULP\n"
"Implements an example that shows how to use the EAGLE User Language\n"
"Usage: RUN sample.ulp\n"
"Author: john@home.org",
"de: Beispiel eines ULPs\n"
"Implementiert ein Beispiel das zeigt, wie man die EAGLE User Language benutzt\n"
"Aufruf: RUN sample.ulp\n"
"Author: john@home.org"