1PERLPLAN9(1) Perl Programmers Reference Guide PERLPLAN9(1)
2
3
4
6 perlplan9 - Plan 9-specific documentation for Perl
7
9 These are a few notes describing features peculiar to Plan 9 Perl. As
10 such, it is not intended to be a replacement for the rest of the Perl 5
11 documentation (which is both copious and excellent). If you have any
12 questions to which you can't find answers in these man pages, contact
13 Luther Huffman at lutherh@stratcom.com and we'll try to answer them.
14
15 Invoking Perl
16
17 Perl is invoked from the command line as described in perl. Most perl
18 scripts, however, do have a first line such as "#!/usr/local/bin/perl".
19 This is known as a shebang (shell-bang) statement and tells the OS
20 shell where to find the perl interpreter. In Plan 9 Perl this statement
21 should be "#!/bin/perl" if you wish to be able to directly invoke the
22 script by its name.
23 Alternatively, you may invoke perl with the command "Perl" instead
24 of "perl". This will produce Acme-friendly error messages of the form
25 "filename:18".
26
27 Some scripts, usually identified with a *.PL extension, are self-con‐
28 figuring and are able to correctly create their own shebang path from
29 config information located in Plan 9 Perl. These you won't need to be
30 worried about.
31
32 What's in Plan 9 Perl
33
34 Although Plan 9 Perl currently only provides static loading, it is
35 built with a number of useful extensions. These include Opcode, File‐
36 Handle, Fcntl, and POSIX. Expect to see others (and DynaLoading!) in
37 the future.
38
39 What's not in Plan 9 Perl
40
41 As mentioned previously, dynamic loading isn't currently available nor
42 is MakeMaker. Both are high-priority items.
43
44 Perl5 Functions not currently supported in Plan 9 Perl
45
46 Some, such as "chown" and "umask" aren't provided because the concept
47 does not exist within Plan 9. Others, such as some of the socket-
48 related functions, simply haven't been written yet. Many in the latter
49 category may be supported in the future.
50
51 The functions not currently implemented include:
52
53 chown, chroot, dbmclose, dbmopen, getsockopt,
54 setsockopt, recvmsg, sendmsg, getnetbyname,
55 getnetbyaddr, getnetent, getprotoent, getservent,
56 sethostent, setnetent, setprotoent, setservent,
57 endservent, endnetent, endprotoent, umask
58
59 There may be several other functions that have undefined behavior so
60 this list shouldn't be considered complete.
61
62 Signals in Plan 9 Perl
63
64 For compatibility with perl scripts written for the Unix environment,
65 Plan 9 Perl uses the POSIX signal emulation provided in Plan 9's ANSI
66 POSIX Environment (APE). Signal stacking isn't supported. The signals
67 provided are:
68
69 SIGHUP, SIGINT, SIGQUIT, SIGILL, SIGABRT,
70 SIGFPE, SIGKILL, SIGSEGV, SIGPIPE, SIGPIPE, SIGALRM,
71 SIGTERM, SIGUSR1, SIGUSR2, SIGCHLD, SIGCONT,
72 SIGSTOP, SIGTSTP, SIGTTIN, SIGTTOU
73
75 WELCOME to Plan 9 Perl, brave soul!
76
77 This is a preliminary alpha version of Plan 9 Perl. Still to be
78 implemented are MakeMaker and DynaLoader. Many perl commands are
79 missing or currently behave in an inscrutable manner. These gaps will,
80 with perseverance and a modicum of luck, be remedied in the near
81 future.To install this software:
82
83 1. Create the source directories and libraries for perl by running the
84 plan9/setup.rc command (i.e., located in the plan9 subdirectory).
85 Note: the setup routine assumes that you haven't dearchived these files
86 into /sys/src/cmd/perl. After running setup.rc you may delete the copy
87 of the source you originally detarred, as source code has now been
88 installed in /sys/src/cmd/perl. If you plan on installing perl binaries
89 for all architectures, run "setup.rc -a".
90
91 2. After making sure that you have adequate privileges to build system
92 software, from /sys/src/cmd/perl/5.00301 (adjust version appropriately)
93 run:
94
95 mk install
96
97 If you wish to install perl versions for all architectures (68020,
98 mips, sparc and 386) run:
99
100 mk installall
101
102 3. Wait. The build process will take a *long* time because perl boot‐
103 straps itself. A 75MHz Pentium, 16MB RAM machine takes roughly 30 min‐
104 utes to build the distribution from scratch.
105
106 Installing Perl Documentation on Plan 9
107
108 This perl distribution comes with a tremendous amount of documentation.
109 To add these to the built-in manuals that come with Plan 9, from
110 /sys/src/cmd/perl/5.00301 (adjust version appropriately) run:
111
112 mk man
113
114 To begin your reading, start with:
115
116 man perl
117
118 This is a good introduction and will direct you towards other man pages
119 that may interest you.
120
121 (Note: "mk man" may produce some extraneous noise. Fear not.)
122
124 "As many as there are grains of sand on all the beaches of the world .
125 . ." - Carl Sagan
126
128 This document was revised 09-October-1996 for Perl 5.003_7.
129
131 Direct questions, comments, and the unlikely bug report (ahem) direct
132 comments toward:
133
134 Luther Huffman, lutherh@stratcom.com, Strategic Computer Solutions,
135 Inc.
136
137
138
139perl v5.8.8 2006-01-07 PERLPLAN9(1)