This paper presents SFST-PL, a programming language for finite state transducers which is based on extended regular expressions with variables. The programming language is both simple and general and suitable for a wide range of possible applications. A compiler for the programming language is provided by the SFST tools which have successfully been used to implement a large-scale German morphology.