На моей голове:
foo() ->
{ok, Fd} = file:open("file.txt", [read]),
process_lines(Fd, file:read_line(Fd), []).
process_lines(_, eof, Acc) -> Acc;
process_lines(Fd, {ok, Line}, Acc) ->
[Pattern, Value] = string:tokens(Line, " :\n"),
process_lines(Fd, file:read_line(Fd), [{Pattern,Value}|Acc]).
Я не тестировал этот код, но что-то подобное должно работать.