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