
  -spec script(Filename) -> {ok, Value} | {error, Reason}
                  when
                      Filename :: name_all(),
                      Value :: term(),
                      Reason ::
                          posix() |
                          badarg | terminated | system_limit |
                          {Line :: integer(),
                           Mod :: module(),
                           Term :: term()}.

  Reads and evaluates Erlang expressions, separated by '.' (or ',',
  a sequence of expressions is also an expression), from the file.

  Returns one of the following:

  {ok, Value}:
    The file is read and evaluated. Value is the value of the
    last expression.

  {error, atom()}:
    An error occurred when opening the file or reading it. For a
    list of typical error codes, see open/2.

  {error, {Line, Mod, Term}}:
    An error occurred when interpreting the Erlang expressions in
    the file. Use format_error/1 to convert the three-element
    tuple to an English description of the error.

  The encoding of Filename can be set by a comment as described in 
  epp(3).
