Skip to content

Commit ced138f

Browse files
committed
add $*TMPDIR to S16; update S28 to distinguish IO::Handle/IO::Path
1 parent 5faf896 commit ced138f

File tree

2 files changed

+15
-7
lines changed

2 files changed

+15
-7
lines changed

S16-io.pod

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,13 @@ The variable is used in at least these cases:
198198
* When a subprocess is executed, it is executed with the current
199199
thread's $*CWD as its working directory.
200200

201+
=head2 $*TMPDIR
202+
203+
The global variable $*TMPDIR is an IO::Path object which points to the system's
204+
temporary directory. It will check the usual places such a C<< %*ENVZ<><TMPDIR> >>,
205+
C</tmp>, C<C:\Windows\temp>, etc (depending on the OS) for a writable directory.
206+
If a writable directory isn't found, it is set to $*CWD.
207+
201208
=head1 Name Services
202209

203210
=head2 User role

S28-special-names.pod

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414

1515
Created: 23 Feb 2009, created by Tim Nelson from miscellaneous documents lying around
1616

17-
Last Modified: 17 Nov 2010
18-
Version: 10
17+
Last Modified: 11 Jun 2013
18+
Version: 11
1919

2020
=head1 Special Variables
2121

@@ -74,26 +74,26 @@ be fleshed out in S26.
7474
$/ S05 Match # Last match
7575
$0, $1, $2 S05 Str # First captured value from match: $/[0]
7676
@*ARGS S06 Array of Str # command-line arguments
77-
$*ARGFILES S02 IO # The magic command-line input handle
77+
$*ARGFILES S02 IO::Handle # The magic command-line input handle
7878
&?BLOCK S06 Block # current block (itself)
7979
::?CLASS S12 Str # current class (as package or type name)
8080
$?CLASS S02 Class # current class
8181
@=COMMENT (S26) # All the comment blocks in the file
8282
%?CONFIG Hash of XXX # configuration hash XXX What does this do?
83-
$*CWD Path # current working directory
83+
$*CWD S16 IO::Path # current working directory
8484
$=data (S26) IO # data block handle (=begin data ... =end)
8585
%?DEEPMAGIC S13 Hash of XXX # Controls the mappings of magical names to sub definitions
8686
$?DISTRO S02 Application # Which OS distribution am I compiling under
8787
$*DISTRO S02 Application # Which OS distribution am I running under
8888
$*EGID Int # effective group id
8989
%*ENV S02 Hash of Str # system environment variables
90-
$*ERR S16 IO # Standard error handle
90+
$*ERR S16 IO::Handle # Standard error handle
9191
$*EUID Int # effective user id
9292
$*EXECUTABLE_NAME Str # executable name
9393
$?FILE S02 Str # current filename of source file
9494
$?GRAMMAR S02 Grammar # current grammar
9595
$*GID Int # group id
96-
$*IN S16 IO # Standard input handle; is an IO object
96+
$*IN S16 IO::Handle # Standard input handle; is an IO object
9797
@*INC S11 # where to search for user modules (but not std lib!)
9898
%?LANG S02 Hash of Grammar # What is the current set of interwoven languages?
9999
$*LANG S02 Str # LANG variable from %*ENV that defines what human language is used
@@ -104,7 +104,7 @@ be fleshed out in S26.
104104
%*OPT... S19 Hash of XXX # Options from command line to be passed down
105105
$?KERNEL Application # operating system compiled for
106106
$*KERNEL Application # operating system running under
107-
$*OUT S16 IO # Standard output handle
107+
$*OUT S16 IO::Handle # Standard output handle
108108
$?PACKAGE S02 Package # current package
109109
$?PERL S02 Application # Which Perl am I compiled for?
110110
$*PERL S02 Application # perl version running under
@@ -116,6 +116,7 @@ be fleshed out in S26.
116116
$?ROLE S02 Role # current role
117117
&?ROUTINE S06 Routine # current sub or method (itself)
118118
$?SCOPE S02 # Current "my" scope (XXX unnecessary?)
119+
$*TMPDIR S16 IO::Path # system temporary directory
119120
$*TZ S32 # Local time zone
120121
$*UID Int # system user id
121122
$?USAGE S06 Str # Default usage message generated at compile time

0 commit comments

Comments
 (0)