4.3BSD/usr/contrib/icon/book/09/copy3.icn

procedure main()
   writes("specify input file: ")
   repeat {
      if intext := open(read()) then break
      writes("cannot open input file, respecify: ")
      }
   writes("specify output file: ")
   repeat {
      if outtext := open(read(),"w") then break
      writes("cannot open output file, respecify: ")
      }
   while write(outtext,read(intext))
end