From d1edabcfc0953113eff6d4bda774297dc66644b9 Mon Sep 17 00:00:00 2001 From: Gurusamy Sarathy Date: Wed, 1 Mar 2000 05:55:20 +0000 Subject: [PATCH] update Todo-5.6, add stub open.pm p4raw-id: //depot/perl@5392 --- MANIFEST | 1 + Todo-5.6 | 17 +++++++++-------- lib/open.pm | 36 ++++++++++++++++++++++++++++++++++++ 3 files changed, 46 insertions(+), 8 deletions(-) create mode 100644 lib/open.pm diff --git a/MANIFEST b/MANIFEST index bf39be2..d0e88b5 100644 --- a/MANIFEST +++ b/MANIFEST @@ -713,6 +713,7 @@ lib/lib.pm For "use lib" lib/locale.pm For "use locale" lib/look.pl A "look" equivalent lib/newgetopt.pl A perl library supporting long option parsing +lib/open.pm Pragma to specify default I/O disciplines lib/open2.pl Open a two-ended pipe (uses IPC::Open2) lib/open3.pl Open a three-ended pipe (uses IPC::Open3) lib/overload.pm Module for overloading perl operators diff --git a/Todo-5.6 b/Todo-5.6 index 8ae31ad..d220c97 100644 --- a/Todo-5.6 +++ b/Todo-5.6 @@ -2,18 +2,19 @@ Bugs fix small memory leaks on compile-time failures Unicode support - finish byte <-> utf8 and localencoding <-> utf8 conversions - make substr($bytestr,0,0, $charstr) do the right conversion + finish byte <-> utf8 and localencoding <-> utf8 conversions + make substr($bytestr,0,0,$charstr) do the right conversion add Unicode::Map equivivalent to core add support for I/O disciplines - - open(F, " ":any", OUT => ":utf8", SYS => ":utf16" eliminate need for "use utf8;" - support C - make C mean C (if !exists(&v123)) autoload utf8_heavy.pl's swash routines in swash_init() + autoload byte.pm when byte:: is seen by the parser check uv_to_utf8() calls for buffer overflow Multi-threading diff --git a/lib/open.pm b/lib/open.pm new file mode 100644 index 0000000..da8a044 --- /dev/null +++ b/lib/open.pm @@ -0,0 +1,36 @@ +package open; + +=head1 NAME + +open - perl pragma to set default disciplines for input and output + +=head1 SYNOPSIS + + use open IN => ":any", OUT => ":utf8"; # unimplemented + +=head1 DESCRIPTION + +NOTE: This pragma is not yet implemented. + +The open pragma is used to declare one or more default disciplines for +I/O operations. Any constructors for file, socket, pipe, or directory +handles found within the lexical scope of this pragma will use the +declared default. + +Handle constructors that are called with an explicit set of disciplines +are not influenced by the declared defaults. + +The default disciplines so declared are available by the special +discipline name ":def", and can be used within handle constructors +that allow disciplines to be specified. This makes it possible to +stack new disciplines over the default ones. + + open FH, "<:para :def", $file or die "can't open $file: $!"; + +=head1 SEE ALSO + +L, L + +=cut + +1; -- 2.7.4