Advances in the understanding of string pattern matching have led to a coroutine model for scanning procedures that has been the basis for recent work. Motivated by the success of this work, the SL5 programming language has been developed to provide a vehicle for research in these areas. This paper describes the string scanning facilities of SL5 and illustrates how they may be used in the analysis and synthesis of strings.