A SelectSaver
object contains a reference to the file handle that
was selected when it was created. If its new
method gets an extra
parameter, then that parameter is selected; otherwise, the selected
file handle remains unchanged.
When a SelectSaver
is destroyed, it re-selects the file handle
that was selected when it was created.