open_any(+Specification, 
+Mode, -Stream, -Close, +Options)- encoding(Enc)
 - Set stream to encoding Enc.
 
Without loaded plugins, the open_any/5 
processes the following values for Specification. If no rule 
matches, open_any/5 
processes Specification as file(Specification).
- Stream
 - A plain stream handle. Possisible post-processing options such as encoding are applied. Close does not close the stream, but resets other side-effects such as the encoding.
 - stream(Stream)
 - Same as a plain Stream.
 - FileURL
 - If Specification is of the form =file://...=, the pointed to 
file is opened using open/4. 
Requires 
library(uri)to be installed. - file(Path)
 - Explicitly open the file Path. Path can be an Path(File) term as accepted by absolute_file_name/3.
 - string(String)
 - Open a Prolog string, atom, list of characters or codes as an input stream.
 
The typical usage scenario is given in the code below, where <process> processes the input.
setup_call_cleanup(
    open_any(Spec, read, In, Close, Options),
    <process>(In),
    Close).
Currently, the following libraries extend this predicate:
- library(http/http_open)
 - Adds support for URLs using the 
httpandhttpsschemes.