summaryrefslogtreecommitdiff
path: root/plan9/perlplan9.doc
blob: d6d7df8b7425b1069fc9027f390d3891a6f67754 (plain)
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 05)    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
          "Perl" 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                      9/Oct/96            (printed 10/9/96)

     PLAN9/PERLPLAN9(1)   (perl 5.003, patch 05)    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 09-October-1996 for Perl 5.003_7.

     AAAAUUUUTTTTHHHHOOOORRRR
          Luther Huffman,    lutherh@stratcom.com

     Page 2                      9/Oct/96            (printed 10/9/96)