This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[ID 20001112.007] sfio's sftell isn't ftell
[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.
eeb010ab 24 Alternatively, you may invoke perl with the command "Perl"
396e9e6f 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.
760ac839 37These include Opcode, FileHandle, Fcntl, and POSIX. Expect
396e9e6f 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
eeb010ab 83This document was revised 09-October-1996 for Perl 5.003_7.
396e9e6f 84
85=head1 AUTHOR
86
43cc1d52 87Luther Huffman, lutherh@stratcom.com