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