Help-Site Computer Manuals
Software
Hardware
Programming
Networking
  Algorithms & Data Structures   Programming Languages   Revision Control
  Protocols
  Cameras   Computers   Displays   Keyboards & Mice   Motherboards   Networking   Printers & Scanners   Storage
  Windows   Linux & Unix   Mac

open
perl pragma to set default disciplines for input and output

open - perl pragma to set default disciplines for input and output


NAME

open - perl pragma to set default disciplines for input and output


SYNOPSIS


    use open IN => ":crlf", OUT => ":raw";


DESCRIPTION

The open pragma is used to declare one or more default disciplines for I/O operations. Any open() and readpipe() (aka qx//) operators found within the lexical scope of this pragma will use the declared defaults. Neither open() with an explicit set of disciplines, nor sysopen() are influenced by this pragma.

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 binmode() is a no-op, but will be supported everywhere in future.


UNIMPLEMENTED FUNCTIONALITY

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.


SEE ALSO

perlfunc/``binmode'', perlfunc/``open'', perlunicode

Programminig
Wy
Wy
yW
Wy
Programming
Wy
Wy
Wy
Wy