RosettaCodeData/Task/Rot-13/Icon/rot-13.icon

15 lines
340 B
Plaintext

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