rot13 = proc (c: char) returns (char) base: int letter: bool := false if c>='A' & c<='Z' then base := char$c2i('A') letter := true elseif c>='a' & c<='z' then base := char$c2i('a') letter := true end if ~letter then return(c) end return(char$i2c((char$c2i(c)-base+13)//26+base)) end rot13 start_up = proc () po: stream := stream$primary_output() pi: stream := stream$primary_input() while true do stream$putc(po,rot13(stream$getc(pi))) except when end_of_file: break end end end start_up