-module(hello). -export([create_cookie/0]). -include_lib("kernel/include/file.hrl"). create_cookie() -> Name = ".erlang.cookie", Cookie = "macaroon\n", case file:open(Name, [write, raw]) of {ok, File} -> R1 = file:write(File, Cookie), ok = file:close(File), R2 = file:raw_write_file_info(Name, make_info()), case {R1, R2} of {ok, ok} -> ok; {{error,Reason}, _} -> {error, lists:flatten( io_lib:format("Failed to write to cookie file '~ts': ~p", [Name, Reason]))}; {ok, {error, Reason}} -> {error, "Failed to change mode: " ++ atom_to_list(Reason)} end; {error,Reason} -> {error, lists:flatten( io_lib:format("Failed to create cookie file '~ts': ~p", [Name, Reason]))} end. make_info() -> #file_info{mode=8#400}.