$pat = '/@PJL ENTER LANGUAGE ?= ?([A-Z0-9]+)[\r]?\n/'
les points d'interrogation veulent dire que le caractères précédent est 0 ou 1 fois, c'est bien cela que tu cherches à faire ?
et les crochets...