Los programas se pueden llamar como subrutina o función. En este caso, estas subrutinas y funciones se ejecutan de la misma manera que los comandos y las funciones predefinidos por IDL.
El usuario puede escribir su propia subrutina o función. A diferencia de un programa normal, este tipo de programa debe estar dentro de:
PRO nombre_de_la_subrutina[,param1_de_entrada,...,param1_de _salida,....]
comando 1.
...................
RETURN
END
para la subrutina y dentro de
FUNCTION nombre_de_la_función[,parámetro_1_de_entrada,...]
comando 1
..................
RETURN, param 1_de_salida[, param 2_de_salida, ....]
END
para las funciones.
Debería llamarlas de la misma manera que el nombre del archivo donde se guarda el programa. Hay que compilarla antes de ejecutarla.
NOTA: .RUN (.R) o .RNEW (.RN) compila sólo las subrutinas o las funciones sin ejecutarlas.
Para comprender la utilización de las subrutinas y funciones, véase los ejemplos.