X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/d50cb53664b80b6874f321a43f050902c06e5781..24af953159399aee75ff9d50dcb7db84e02056dd:/README diff --git a/README b/README index ae23b4b..945db22 100644 --- a/README +++ b/README @@ -1,77 +1,132 @@ -Copyright 1998, O'Reilly & Associates, Inc. - -This package may be copied under the same terms as Perl itself. - -Disclaimers ------------ -This is a work in progress, and relies on bleeding-edge technology -from the network. Don't expect not to be surprised occasionally. - -Requirements ------------- -Perl 5.004 (or later) must be compiled and installed as a shared library -(libperl.so). I had to use the system's malloc. We've tested -it most heavily with 5.004_04. - -You need JDK 1.1. On Solaris 1.1.1 works. On Linux you need 1.1.3 with -the patches from - - ftp://ftp.blackdown.org/pub/Linux/JDK/1.1.3/updates/libjava-1.1.3v2-1.tar.gz - -The get_jdk directory contains a script that will download JDK (but not -the patch file above) off of the net for you. (This presumes you've -already installed the modules mentioned in ../README.) - -What the heck is JPL? ---------------------- -JPL is a hybrid (to use the polite term) language. It's basically Java -in which the methods can optionally be implemented by Perl code. A -preprocessor called "JPL::Compile" looks at your .jpl file and spits -out the appropriate .java, .c, .h, .pl, and .so files to accomplish the -desired task. Hopefully a lot of those files can go away in the future -as jpl mutates into a Perl-to-Java compiler. The long-term goal is for -jpl to be able to take a pure Perl file and spit out a java .class -file. This initial version of JPL is an attempt to begin to mesh the -semantics of Java and Perl. Some people may find it useful in its -current form, but you should know right up front that we've still got a -ways to go with it. A journey of a thousand miles continues with the -second step... - -JPL Syntax ----------- -JPL syntax is trivial, given that you know Java and Perl. Pretend like -you're writing a native Java method, but say "perl" instead of -"native", and then instead of omitting the body of the method, put your -Perl code in double curlies. (See Sample.jpl for an example.) - -Calling back from Perl to Java is done through the JNI (Java Native -Interface). No weird transmogrifications are done by the preprocessor -to your Perl code--it's all normal Perl. The preprocessor just wraps -it up into funny subroutines you don't see unless you peek at the .pl -file it generates. - -Installation ------------- -Run "install-jpl". You have to tell it whether you want to use the -current directory for JPL_HOME or some other directory. Everything -else should take care of itself, except that after install-jpl -write the setvars program, you are responsible to invoke it properly -before any JPL applications can be compiled under the current shell. - - sh: eval `setvars -sh` - csh: eval `setvars -csh` - perl: eval `setvars -perl`; - -More Info ---------- - -You can look at the Sample and Test directories, as well as the ../eg -directory for examples. - -Perhaps the most important bit of advice we can give you is to watch - - http://perl.oreilly.com - -for further information on how to get further information. - -Have the appropriate amount of fun. +Perl is Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, +2013, 2014, 2015, 2016, 2017, 2018, 2019 by Larry Wall and others. +All rights reserved. + + + +ABOUT PERL +========== + +Perl is a general-purpose programming language originally developed for +text manipulation and now used for a wide range of tasks including +system administration, web development, network programming, GUI +development, and more. + +The language is intended to be practical (easy to use, efficient, +complete) rather than beautiful (tiny, elegant, minimal). Its major +features are that it's easy to use, supports both procedural and +object-oriented (OO) programming, has powerful built-in support for text +processing, and has one of the world's most impressive collections of +third-party modules. + +For an introduction to the language's features, see pod/perlintro.pod. + +For a discussion of the important changes in this release, see +pod/perldelta.pod. + +There are also many Perl books available, covering a wide variety of topics, +from various publishers. See pod/perlbook.pod for more information. + + +INSTALLATION +============ + +If you're using a relatively modern operating system and want to +install this version of Perl locally, run the following commands: + + ./Configure -des -Dprefix=$HOME/localperl + make test + make install + +This will configure and compile perl for your platform, run the regression +tests, and install perl in a subdirectory "localperl" of your home directory. + +If you run into any trouble whatsoever or you need to install a customized +version of Perl, you should read the detailed instructions in the "INSTALL" +file that came with this distribution. Additionally, there are a number of +"README" files with hints and tips about building and using Perl on a wide +variety of platforms, some more common than others. + +Once you have Perl installed, a wealth of documentation is available to you +through the 'perldoc' tool. To get started, run this command: + + perldoc perl + + +IF YOU RUN INTO TROUBLE +======================= + +Perl is a large and complex system that's used for everything from +knitting to rocket science. If you run into trouble, it's quite +likely that someone else has already solved the problem you're +facing. Once you've exhausted the documentation, please report bugs to us +using the 'perlbug' tool. For more information about perlbug, either type +'perldoc perlbug' or just 'perlbug' on a line by itself. + +While it was current when we made it available, Perl is constantly evolving +and there may be a more recent version that fixes bugs you've run into or +adds new features that you might find useful. + +You can always find the latest version of perl on a CPAN (Comprehensive Perl +Archive Network) site near you at http://www.cpan.org/src/ + +If you want to submit a simple patch to the perl source, see the "SUPER +QUICK PATCH GUIDE" in pod/perlhack.pod. + +Just a personal note: I want you to know that I create nice things like this +because it pleases the Author of my story. If this bothers you, then your +notion of Authorship needs some revision. But you can use perl anyway. :-) + + The author. + + +LICENSING +========= + +This program is free software; you can redistribute it and/or modify +it under the terms of either: + + a) the GNU General Public License as published by the Free + Software Foundation; either version 1, or (at your option) any + later version, or + + b) the "Artistic License" which comes with this Kit. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See either +the GNU General Public License or the Artistic License for more details. + +You should have received a copy of the Artistic License with this +Kit, in the file named "Artistic". If not, I'll be glad to provide one. + +You should also have received a copy of the GNU General Public License +along with this program in the file named "Copying". If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +Boston, MA 02110-1301, USA or visit their web page on the internet at +http://www.gnu.org/copyleft/gpl.html. + +For those of you that choose to use the GNU General Public License, +my interpretation of the GNU General Public License is that no Perl +script falls under the terms of the GPL unless you explicitly put +said script under the terms of the GPL yourself. Furthermore, any +object code linked with perl does not automatically fall under the +terms of the GPL, provided such object code only adds definitions +of subroutines and variables, and does not otherwise impair the +resulting interpreter from executing any standard Perl script. I +consider linking in C subroutines in this manner to be the moral +equivalent of defining subroutines in the Perl language itself. You +may sell such an object file as proprietary provided that you provide +or offer to provide the Perl source, as specified by the GNU General +Public License. (This is merely an alternate way of specifying input +to the program.) You may also sell a binary produced by the dumping of +a running Perl script that belongs to you, provided that you provide or +offer to provide the Perl source as specified by the GPL. (The +fact that a Perl interpreter and your code are in the same binary file +is, in this case, a form of mere aggregation.) This is my interpretation +of the GPL. If you still have concerns or difficulties understanding +my intent, feel free to contact me. Of course, the Artistic License +spells all this out for your protection, so you may prefer to use that. + +