{
    "mode": "man",
    "parameter": "PERLPLAN9",
    "section": "1",
    "url": "https://www.chedong.com/phpMan.php/man/PERLPLAN9/1/json",
    "generated": "2026-06-13T22:57:59Z",
    "sections": {
        "NAME": {
            "content": "perlplan9 - Plan 9-specific documentation for Perl\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "These are a few notes describing features peculiar to Plan 9 Perl. As such, it is not\nintended to be a replacement for the rest of the Perl 5 documentation (which is both copious\nand excellent). If you have any questions to which you can't find answers in these man pages,\ncontact Luther Huffman at lutherh@stratcom.com and we'll try to answer them.\n",
            "subsections": [
                {
                    "name": "Invoking Perl",
                    "content": "Perl is invoked from the command line as described in perl. Most perl scripts, however, do\nhave a first line such as \"#!/usr/local/bin/perl\". This is known as a shebang (shell-bang)\nstatement and tells the OS shell where to find the perl interpreter. In Plan 9 Perl this\nstatement should be \"#!/bin/perl\" if you wish to be able to directly invoke the script by its\nname.\nAlternatively, you may invoke perl with the command \"Perl\" instead of \"perl\". This will\nproduce Acme-friendly error messages of the form \"filename:18\".\n\nSome scripts, usually identified with a *.PL extension, are self-configuring and are able to\ncorrectly create their own shebang path from config information located in Plan 9 Perl. These\nyou won't need to be worried about.\n"
                },
                {
                    "name": "What's in Plan 9 Perl",
                    "content": "Although Plan 9 Perl currently only  provides static loading, it is built with a number of\nuseful extensions.  These include Opcode, FileHandle, Fcntl, and POSIX. Expect to see others\n(and DynaLoading!) in the future.\n"
                },
                {
                    "name": "What's not in Plan 9 Perl",
                    "content": "As mentioned previously, dynamic loading isn't currently available nor is MakeMaker. Both are\nhigh-priority items.\n"
                },
                {
                    "name": "Perl5 Functions not currently supported in Plan 9 Perl",
                    "content": "Some, such as \"chown\" and \"umask\" aren't provided because the concept does not exist within\nPlan 9. Others, such as some of the socket-related functions, simply haven't been written\nyet. Many in the latter category may be supported in the future.\n\nThe functions not currently implemented include:\n\nchown, chroot, dbmclose, dbmopen, getsockopt,\nsetsockopt, recvmsg, sendmsg, getnetbyname,\ngetnetbyaddr, getnetent, getprotoent, getservent,\nsethostent, setnetent, setprotoent, setservent,\nendservent, endnetent, endprotoent, umask\n\nThere may be several other functions that have undefined behavior so this list shouldn't be\nconsidered complete.\n"
                },
                {
                    "name": "Signals in Plan 9 Perl",
                    "content": "For compatibility with perl scripts written for the Unix environment, Plan 9 Perl uses the\nPOSIX signal emulation provided in Plan 9's ANSI POSIX Environment (APE). Signal stacking\nisn't supported. The signals provided are:\n\nSIGHUP, SIGINT, SIGQUIT, SIGILL, SIGABRT,\nSIGFPE, SIGKILL, SIGSEGV, SIGPIPE, SIGPIPE, SIGALRM,\nSIGTERM, SIGUSR1, SIGUSR2, SIGCHLD, SIGCONT,\nSIGSTOP, SIGTSTP, SIGTTIN, SIGTTOU\n"
                }
            ]
        },
        "COMPILING AND INSTALLING PERL ON PLAN 9": {
            "content": "WELCOME to Plan 9 Perl, brave soul!\n\nThis is a preliminary alpha version of Plan 9 Perl. Still to be\nimplemented are MakeMaker and DynaLoader. Many perl commands are\nmissing or currently behave in an inscrutable manner. These gaps will,\nwith perseverance and a modicum of luck, be remedied in the near\nfuture.To install this software:\n\n1. Create the source directories and libraries for perl by running the plan9/setup.rc command\n(i.e., located in the plan9 subdirectory).  Note: the setup routine assumes that you haven't\ndearchived these files into /sys/src/cmd/perl. After running setup.rc you may delete the copy\nof the source you originally detarred, as source code has now been installed in\n/sys/src/cmd/perl. If you plan on installing perl binaries for all architectures, run\n\"setup.rc -a\".\n\n2. After making sure that you have adequate privileges to build system software, from\n/sys/src/cmd/perl/5.00301 (adjust version appropriately) run:\n\nmk install\n\nIf you wish to install perl versions for all architectures (68020, mips, sparc and 386) run:\n\nmk installall\n\n3. Wait. The build process will take a *long* time because perl bootstraps itself. A 75MHz\nPentium, 16MB RAM machine takes roughly 30 minutes to build the distribution from scratch.\n",
            "subsections": [
                {
                    "name": "Installing Perl Documentation on Plan 9",
                    "content": "This perl distribution comes with a tremendous amount of documentation. To add these to the\nbuilt-in manuals that come with Plan 9, from /sys/src/cmd/perl/5.00301 (adjust version\nappropriately) run:\n\nmk man\n\nTo begin your reading, start with:\n\nman perl\n\nThis is a good introduction and will direct you towards other man pages that may interest\nyou.\n\n(Note: \"mk man\" may produce some extraneous noise. Fear not.)\n"
                }
            ]
        },
        "BUGS": {
            "content": "\"As many as there are grains of sand on all the beaches of the world . . .\" - Carl Sagan\n",
            "subsections": [
                {
                    "name": "Revision date",
                    "content": "This document was revised 09-October-1996 for Perl 5.0037.\n"
                }
            ]
        },
        "AUTHOR": {
            "content": "Direct questions, comments, and the unlikely bug report (ahem) direct comments toward:\n\nLuther Huffman, lutherh@stratcom.com, Strategic Computer Solutions, Inc.\n\n\n\nperl v5.34.0                                 2025-07-25                                 PERLPLAN9(1)",
            "subsections": []
        }
    },
    "summary": "perlplan9 - Plan 9-specific documentation for Perl",
    "flags": [],
    "examples": [],
    "see_also": []
}