Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
[S28] s/SoftwarePackage/Application/
- Changed the name
- Removed a bit of pomp and circumstance in the surrounding text
- Added public-access twigils to the attributes
- Added attribute ".auth"
  • Loading branch information
Carl Masak committed Nov 17, 2010
1 parent 44511d7 commit 6cd1df9
Showing 1 changed file with 19 additions and 20 deletions.
39 changes: 19 additions & 20 deletions S28-special-names.pod
Expand Up @@ -8,13 +8,14 @@
Larry Wall <larry@wall.org>
Tim Nelson <wayland@wayland.id.au>
Lyle Hopkins <webmaster@cosmicperl.com>
Carl Mäsak <cmasak@gmail.com>

=head1 VERSION

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

Last Modified: 11 Oct 2010
Version: 8
Last Modified: 17 Nov 2010
Version: 9

=head1 Special Variables

Expand Down Expand Up @@ -72,8 +73,8 @@ be fleshed out in S26.
$! S04 # Current Exception object
$/ S05 Match # Last match
$0, $1, $2 S05 Str # First captured value from match: $/[0]
$?ARCH SoftwarePackage # Host architecture
$?XARCH SoftwarePackage # Target architecture
$?ARCH Application # Host architecture
$?XARCH Application # Target architecture
@*ARGS S06 Array of Str # command-line arguments
$*ARGFILES S02 IO # The magic command-line input handle
&?BLOCK S06 Block # current block (itself)
Expand All @@ -85,8 +86,8 @@ be fleshed out in S26.
$=DATA (S26) IO # data block handle (=begin DATA ... =end)
@=DATA (S26) Array # Same as above, but array
%?DEEPMAGIC S13 Hash of XXX # Controls the mappings of magical names to sub definitions
$?DISTRO S02 SoftwarePackage # Which OS distribution am I compiling under
$*DISTRO S02 SoftwarePackage # Which OS distribution am I running under
$?DISTRO S02 Application # Which OS distribution am I compiling under
$*DISTRO S02 Application # Which OS distribution am I running under
$*EGID Int # effective group id
%*ENV S02 Hash of Str # system environment variables
$*ERR S16 IO # Standard error handle
Expand All @@ -104,12 +105,12 @@ be fleshed out in S26.
$?MODULE S02 Module # current module
%*OPTS S19 Hash of XXX # Options from command line
%*OPT... S19 Hash of XXX # Options from command line to be passed down
$?KERNEL SoftwarePackage # operating system compiled for
$*KERNEL SoftwarePackage # operating system running under
$?KERNEL Application # operating system compiled for
$*KERNEL Application # operating system running under
$*OUT S16 IO # Standard output handle
$?PACKAGE S02 Package # current package
$?PERL S02 SoftwarePackage # Which Perl am I compiled for?
$*PERL S02 SoftwarePackage # perl version running under
$?PERL S02 Application # Which Perl am I compiled for?
$*PERL S02 Application # perl version running under
$*PID Int # system process id
%=POD S02 # (or some such)
$*PROGRAM_NAME S19 Str # name of the Perl program being executed
Expand All @@ -121,8 +122,8 @@ be fleshed out in S26.
$*TZ S32 # Local time zone
$*UID Int # system user id
$?USAGE S06 Str # Default usage message generated at compile time
$?VM S02 SoftwarePackage # Which virtual machine am I compiling under
$?XVM S02 SoftwarePackage # Which virtual machine am I cross-compiling for
$?VM S02 Application # Which virtual machine am I compiling under
$?XVM S02 Application # Which virtual machine am I cross-compiling for

Note that dynamic variables such as C<$*OUT> may have more than
one current definition in the outer dynamic context, in which case
Expand All @@ -134,17 +135,15 @@ scope may also declare a local meaning of C<$*OUT> that applies only
to called code. Likewise each thread could log its own errors
to its own C<$*ERR>, since a thread is a dynamic scope.

=head2 Special Classes
The class C<Application> collects a few common features of some of the special
variables such as C<$*PERL>, C<$?VM>, C<$*KERNEL>, etc.

These are classes defined especially for the benefit of the Special Variables.

class SoftwarePackage {
has Str $name;
has Version $version;
class Application {
has Str $.name;
has Str $.auth;
has Version $.version;
}

This class is intended to represent a software package at a fairly basic level.

=head3 Perl5 to Perl6 special variable translation

If a column has a "-" in it, it means that item is unavailable in that version of Perl.
Expand Down

0 comments on commit 6cd1df9

Please sign in to comment.