open - perl pragma to set default disciplines for input and output
use open IN => ":crlf", OUT => ":raw";
The open pragma is used to declare one or more default disciplines for
I/O operations. Any
Only the two pseudo-disciplines ``:raw'' and ``:crlf'' are currently available.
The ``:raw'' discipline corresponds to ``binary mode'' and the ``:crlf''
discipline corresponds to ``text mode'' on platforms that distinguish
between the two modes when opening files (which is many DOS-like
platforms, including Windows). These two disciplines are currently
no-ops on platforms where
Full-fledged support for I/O disciplines is currently unimplemented. When they are eventually supported, this pragma will serve as one of the interfaces to declare default disciplines for all I/O.
In future, any default disciplines declared by this pragma will be available by the special discipline name ``:DEFAULT'', and could be used within handle constructors that allow disciplines to be specified. This would make it possible to stack new disciplines over the default ones.
open FH, "<:para :DEFAULT", $file or die "can't open $file: $!";
Socket and directory handles will also support disciplines in future.
Full support for I/O disciplines will enable all of the supported disciplines to work on all platforms.