let chan = ref stdin let rot13 c = let x = int_of_char c in if x >= 97 && x < 110 || x >= 65 && x < 78 then char_of_int (x + 13) else if x >= 110 && x < 123 || x >= 78 && x < 91 then char_of_int (x - 13) else c ;; let main argc argv = if argc = 2 then begin try chan := open_in argv.(1) with Sys_error s -> print_endline s; exit 0 end; while true do try let c = input_char !chan in print_char (rot13 c); flush stdout with End_of_file -> exit 0 done ;; main (Array.length Sys.argv) Sys.argv