Il existe deux fonctions particulières, héritées de la syntaxe de awk, qui permettent d'avoir une plus grande maîtrise sur le déroulement du script. Ce sont les fonctions BEGIN et END.
Une fonction BEGIN est exécutée aussitôt que possible, i.e. au moment où elle est complètement définie, avant même que le reste du script ne soit analysé. S'il y a plusieurs définitions de BEGIN, elles seront exécutées dans l'ordre de leur déclaration.
Cette fonction est utilisée en particulier pour modifier le chemin de recherche des fichiers à inclure (voir le chapitre 13 sur les variables spéciales) :
La fonction END est exécutée le plus tard possible, généralement juste avant la sortie de l'interpréteur. Elle permet donc de faire un peu de ménage à la fin d'un programme.