procedure main(arglist) file := open(arglist[1],"r") | &input every write(rot13(|read(file))) end procedure rot13(s) #: returns rot13(string) static a,n initial { a := &lcase || &ucase (&lcase || &lcase) ? n := ( move(13), move(*&lcase) ) (&ucase || &ucase) ? n ||:= ( move(13), move(*&ucase) ) } return map(s,a,n) end