perlplan9(1)


NAME

   perlplan9 - Plan 9-specific documentation for Perl

DESCRIPTION

   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.

   Invoking Perl
   Perl is invoked from the command line as described in perl. 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.

   What's in Plan 9 Perl
   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.

   What's not in Plan 9 Perl
   As mentioned previously, dynamic loading isn't currently available nor
   is MakeMaker. Both are high-priority items.

   Perl5 Functions not currently supported in Plan 9 Perl
   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:

       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.

   Signals in Plan 9 Perl
   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

COMPILING AND INSTALLING PERL ON PLAN 9

   WELCOME to Plan 9 Perl, brave soul!

      This is a preliminary alpha version of Plan 9 Perl. Still to be
   implemented are MakeMaker and DynaLoader. Many perl commands are
   missing or currently behave in an inscrutable manner. These gaps will,
   with perseverance and a modicum of luck, be remedied in the near
   future.To install this software:

   1. Create the source directories and libraries for perl by running the
   plan9/setup.rc command (i.e., located in the plan9 subdirectory).
   Note: the setup routine assumes that you haven't dearchived these files
   into /sys/src/cmd/perl. After running setup.rc you may delete the copy
   of the source you originally detarred, as source code has now been
   installed in /sys/src/cmd/perl. If you plan on installing perl binaries
   for all architectures, run "setup.rc -a".

   2. After making sure that you have adequate privileges to build system
   software, from /sys/src/cmd/perl/5.00301 (adjust version appropriately)
   run:

           mk install

   If you wish to install perl versions for all architectures (68020,
   mips, sparc and 386) run:

           mk installall

   3. Wait. The build process will take a *long* time because perl
   bootstraps itself. A 75MHz Pentium, 16MB RAM machine takes roughly 30
   minutes to build the distribution from scratch.

   Installing Perl Documentation on Plan 9
   This perl distribution comes with a tremendous amount of documentation.
   To add these to the built-in manuals that come with Plan 9, from
   /sys/src/cmd/perl/5.00301 (adjust version appropriately) run:

           mk man

   To begin your reading, start with:

           man perl

   This is a good introduction and will direct you towards other man pages
   that may interest you.

   (Note: "mk man" may produce some extraneous noise. Fear not.)

BUGS

   "As many as there are grains of sand on all the beaches of the world .
   . ." - Carl Sagan

Revision date

   This document was revised 09-October-1996 for Perl 5.003_7.

AUTHOR

   Direct questions, comments, and the unlikely bug report (ahem) direct
   comments toward:

   Luther Huffman, lutherh@stratcom.com, Strategic Computer Solutions,
   Inc.





Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.





Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.


Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.





Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.


Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.





Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.


Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.