Establish a stream from Specification that should be closed 
using Close, which can either be called or passed to
close_any/1. Options 
processed:
- 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.