This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl 5.003_01: [changes beteween cumulative patches and tarball release]
[perl5.git] / plan9 / perlplan9.pod
CommitLineData
396e9e6f 1=head1 NAME
2
3perlplan9 - Plan 9-specific documentation for Perl
4
5=head1 DESCRIPTION
6
7These are a few notes describing features peculiar to
8Plan 9 Perl. As such, it is not intended to be a replacement
9for the rest of the Perl 5 documentation (which is both
10copious and excellent). If you have any questions to
11which you can't find answers in these man pages, contact
12Luther Huffman at lutherh@stratcom.com and we'll try to
13answer them.
14
15=head2 Invoking Perl
16
17Perl is invoked from the command line as described in
18L<perl>. Most perl scripts, however, do have a first line
19such as "#!/usr/local/bin/perl". This is known as a shebang
20(shell-bang) statement and tells the OS shell where to find
21the perl interpreter. In Plan 9 Perl this statement should be
22"#!/bin/perl" if you wish to be able to directly invoke the
23script by its name.
24 Alternatively, you may invoke perl with the command "aperl"
25instead of "perl". This will produce Acme-friendly error
26messages of the form "filename:18".
27
28Some scripts, usually identified with a *.PL extension, are
29self-configuring and are able to correctly create their own
30shebang path from config information located in Plan 9
31Perl. These you won't need to be worried about.
32
33=head2 What's in Plan 9 Perl
34
35Although Plan 9 Perl currently only provides static
36loading, it is built with a number of useful extensions.
37These include Safe, FileHandle, Fcntl, and POSIX. Expect
38to see others (and DynaLoading!) in the future.
39
40=head2 What's not in Plan 9 Perl
41
42As mentioned previously, dynamic loading isn't currently
43available nor is MakeMaker. Both are high-priority items.
44
45=head2 Perl5 Functions not currently supported
46
47Some, such as C<chown> and C<umask> aren't provided
48because the concept does not exist within Plan 9. Others,
49such as some of the socket-related functions, simply
50haven't been written yet. Many in the latter category
51may be supported in the future.
52
53The functions not currently implemented include:
54
55 chown, chroot, dbmclose, dbmopen, getsockopt,
56 setsockopt, recvmsg, sendmsg, getnetbyname,
57 getnetbyaddr, getnetent, getprotoent, getservent,
58 sethostent, setnetent, setprotoent, setservent,
59 endservent, endnetent, endprotoent, umask
60
61There may be several other functions that have undefined
62behavior so this list shouldn't be considered complete.
63
64=head2 Signals
65
66For compatibility with perl scripts written for the Unix
67environment, Plan 9 Perl uses the POSIX signal emulation
68provided in Plan 9's ANSI POSIX Environment (APE). Signal stacking
69isn't supported. The signals provided are:
70
71 SIGHUP, SIGINT, SIGQUIT, SIGILL, SIGABRT,
72 SIGFPE, SIGKILL, SIGSEGV, SIGPIPE, SIGPIPE, SIGALRM,
73 SIGTERM, SIGUSR1, SIGUSR2, SIGCHLD, SIGCONT,
74 SIGSTOP, SIGTSTP, SIGTTIN, SIGTTOU
75
76=head1 BUGS
77
78"As many as there are grains of sand on all the beaches of the
79world . . ." - Carl Sagan
80
81=head1 Revision date
82
83This document was revised 04-July-1996 for Perl 5.003_1.
84
85=head1 AUTHOR
86
43cc1d52 87Luther Huffman, lutherh@stratcom.com