xref: /openbsd/gnu/usr.bin/perl/README (revision e0680481)
1204dddbbSafresh1Perl is Copyright (C) 1993 - 2023 by Larry Wall and others.
2204dddbbSafresh1
39f11ffb7Safresh1All rights reserved.
44a4f25f9Sdownsj
5*e0680481Safresh1# ABOUT PERL
67bfa9f44Smillert
77bfa9f44SmillertPerl is a general-purpose programming language originally developed for
87bfa9f44Smillerttext manipulation and now used for a wide range of tasks including
97bfa9f44Smillertsystem administration, web development, network programming, GUI
107bfa9f44Smillertdevelopment, and more.
117bfa9f44Smillert
127bfa9f44SmillertThe language is intended to be practical (easy to use, efficient,
137bfa9f44Smillertcomplete) rather than beautiful (tiny, elegant, minimal).  Its major
147bfa9f44Smillertfeatures are that it's easy to use, supports both procedural and
157bfa9f44Smillertobject-oriented (OO) programming, has powerful built-in support for text
167bfa9f44Smillertprocessing, and has one of the world's most impressive collections of
177bfa9f44Smillertthird-party modules.
187bfa9f44Smillert
197bfa9f44SmillertFor an introduction to the language's features, see pod/perlintro.pod.
207bfa9f44Smillert
217bfa9f44SmillertFor a discussion of the important changes in this release, see
2248950c12Ssthenpod/perldelta.pod.
237bfa9f44Smillert
247bfa9f44SmillertThere are also many Perl books available, covering a wide variety of topics,
257bfa9f44Smillertfrom various publishers.  See pod/perlbook.pod for more information.
267bfa9f44Smillert
277bfa9f44Smillert
28*e0680481Safresh1# INSTALLATION
297bfa9f44Smillert
307bfa9f44SmillertIf you're using a relatively modern operating system and want to
317bfa9f44Smillertinstall this version of Perl locally, run the following commands:
327bfa9f44Smillert
337bfa9f44Smillert    ./Configure -des -Dprefix=$HOME/localperl
347bfa9f44Smillert    make test
357bfa9f44Smillert    make install
367bfa9f44Smillert
377bfa9f44SmillertThis will configure and compile perl for your platform, run the regression
387bfa9f44Smillerttests, and install perl in a subdirectory "localperl" of your home directory.
397bfa9f44Smillert
407bfa9f44SmillertIf you run into any trouble whatsoever or you need to install a customized
417bfa9f44Smillertversion of Perl, you should read the detailed instructions in the "INSTALL"
427bfa9f44Smillertfile that came with this distribution.  Additionally, there are a number of
437bfa9f44Smillert"README" files with hints and tips about building and using Perl on a wide
447bfa9f44Smillertvariety of platforms, some more common than others.
457bfa9f44Smillert
467bfa9f44SmillertOnce you have Perl installed, a wealth of documentation is available to you
477bfa9f44Smillertthrough the 'perldoc' tool.  To get started, run this command:
487bfa9f44Smillert
497bfa9f44Smillert    perldoc perl
507bfa9f44Smillert
517bfa9f44Smillert
52*e0680481Safresh1# IF YOU RUN INTO TROUBLE
537bfa9f44Smillert
547bfa9f44SmillertPerl is a large and complex system that's used for everything from
557bfa9f44Smillertknitting to rocket science.  If you run into trouble, it's quite
567bfa9f44Smillertlikely that someone else has already solved the problem you're
577bfa9f44Smillertfacing. Once you've exhausted the documentation, please report bugs to us
5898dafc01Safresh1at the GitHub issue tracker at https://github.com/Perl/perl5/issues
597bfa9f44Smillert
607bfa9f44SmillertWhile it was current when we made it available, Perl is constantly evolving
617bfa9f44Smillertand there may be a more recent version that fixes bugs you've run into or
627bfa9f44Smillertadds new features that you might find useful.
637bfa9f44Smillert
647bfa9f44SmillertYou can always find the latest version of perl on a CPAN (Comprehensive Perl
6556d68f1eSafresh1Archive Network) site near you at https://www.cpan.org/src/
667bfa9f44Smillert
67e9ce3842Safresh1If you want to submit a simple patch to the perl source, see the "SUPER
68e9ce3842Safresh1QUICK PATCH GUIDE" in pod/perlhack.pod.
697bfa9f44Smillert
707bfa9f44SmillertJust a personal note:  I want you to know that I create nice things like this
717bfa9f44Smillertbecause it pleases the Author of my story.  If this bothers you, then your
727bfa9f44Smillertnotion of Authorship needs some revision.  But you can use perl anyway. :-)
737bfa9f44Smillert
747bfa9f44SmillertThe author.
757bfa9f44Smillert
767bfa9f44Smillert
77*e0680481Safresh1# LICENSING
787bfa9f44Smillert
794a4f25f9SdownsjThis program is free software; you can redistribute it and/or modify
804a4f25f9Sdownsjit under the terms of either:
814a4f25f9Sdownsj
82*e0680481Safresh1a.  the GNU General Public License as published by the Free
834a4f25f9Sdownsj    Software Foundation; either version 1, or (at your option) any
844a4f25f9Sdownsj    later version, or
854a4f25f9Sdownsj
86*e0680481Safresh1b.  the "Artistic License" which comes with this Kit.
874a4f25f9Sdownsj
884a4f25f9SdownsjThis program is distributed in the hope that it will be useful,
894a4f25f9Sdownsjbut WITHOUT ANY WARRANTY; without even the implied warranty of
904a4f25f9SdownsjMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See either
914a4f25f9Sdownsjthe GNU General Public License or the Artistic License for more details.
924a4f25f9Sdownsj
934a4f25f9SdownsjYou should have received a copy of the Artistic License with this
944a4f25f9SdownsjKit, in the file named "Artistic".  If not, I'll be glad to provide one.
954a4f25f9Sdownsj
964a4f25f9SdownsjYou should also have received a copy of the GNU General Public License
97c5dcfd37Smillertalong with this program in the file named "Copying". If not, write to the
987bfa9f44SmillertFree Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
997bfa9f44SmillertBoston, MA 02110-1301, USA or visit their web page on the internet at
10056d68f1eSafresh1https://www.gnu.org/copyleft/gpl.html.
1014a4f25f9Sdownsj
1024a4f25f9SdownsjFor those of you that choose to use the GNU General Public License,
1034a4f25f9Sdownsjmy interpretation of the GNU General Public License is that no Perl
1044a4f25f9Sdownsjscript falls under the terms of the GPL unless you explicitly put
1054a4f25f9Sdownsjsaid script under the terms of the GPL yourself.  Furthermore, any
1064a4f25f9Sdownsjobject code linked with perl does not automatically fall under the
1074a4f25f9Sdownsjterms of the GPL, provided such object code only adds definitions
1084a4f25f9Sdownsjof subroutines and variables, and does not otherwise impair the
1094a4f25f9Sdownsjresulting interpreter from executing any standard Perl script.  I
1104a4f25f9Sdownsjconsider linking in C subroutines in this manner to be the moral
1114a4f25f9Sdownsjequivalent of defining subroutines in the Perl language itself.  You
1124a4f25f9Sdownsjmay sell such an object file as proprietary provided that you provide
1134a4f25f9Sdownsjor offer to provide the Perl source, as specified by the GNU General
1144a4f25f9SdownsjPublic License.  (This is merely an alternate way of specifying input
1154a4f25f9Sdownsjto the program.)  You may also sell a binary produced by the dumping of
1164a4f25f9Sdownsja running Perl script that belongs to you, provided that you provide or
1174a4f25f9Sdownsjoffer to provide the Perl source as specified by the GPL.  (The
1184a4f25f9Sdownsjfact that a Perl interpreter and your code are in the same binary file
1194a4f25f9Sdownsjis, in this case, a form of mere aggregation.)  This is my interpretation
1204a4f25f9Sdownsjof the GPL.  If you still have concerns or difficulties understanding
1214a4f25f9Sdownsjmy intent, feel free to contact me.  Of course, the Artistic License
1224a4f25f9Sdownsjspells all this out for your protection, so you may prefer to use that.
123