1N/Aperl - Practical Extraction and Report Language
1N/AB<perl> S<[ B<-sTuU> ]> S<[ B<-hv> ] [ B<-V>[:I<configvar>] ]>
1N/A S<[ B<-pna> ] [ B<-F>I<pattern> ] [ B<-l>[I<octal>] ] [ B<-0>[I<octal>] ]>
1N/A S<[ B<-I>I<dir> ] [ B<-m>[B<->]I<module> ] [ B<-M>[B<->]I<'module...'> ]>
1N/A S<[ B<-P> ]> S<[ B<-S> ]> S<[ B<-x>[I<dir>] ]>
1N/A S<[ B<-i>[I<extension>] ]> S<[ B<-e> I<'command'> ]
1N/A [ B<--> ] [ I<programfile> ] [ I<argument> ]...>
1N/AIf you're new to Perl, you should start with L<perlintro>, which is a
1N/Ageneral intro for beginners and provides some background to help you
1N/Anavigate the rest of Perl's extensive documentation.
1N/AFor ease of access, the Perl manual has been split up into several sections.
1N/A perl Perl overview (this section)
1N/A perlintro Perl introduction for beginners
1N/A perltoc Perl documentation table of contents
1N/A perlreftut Perl references short introduction
1N/A perldsc Perl data structures intro
1N/A perllol Perl data structures: arrays of arrays
1N/A perlrequick Perl regular expressions quick start
1N/A perlretut Perl regular expressions tutorial
1N/A perlboot Perl OO tutorial for beginners
1N/A perltoot Perl OO tutorial, part 1
1N/A perltooc Perl OO tutorial, part 2
1N/A perlbot Perl OO tricks and examples
1N/A perlstyle Perl style guide
1N/A perlcheat Perl cheat sheet
1N/A perltrap Perl traps for the unwary
1N/A perldebtut Perl debugging tutorial
1N/A perlfaq Perl frequently asked questions
1N/A perlfaq1 General Questions About Perl
1N/A perlfaq2 Obtaining and Learning about Perl
1N/A perlfaq3 Programming Tools
1N/A perlfaq4 Data Manipulation
1N/A perlfaq5 Files and Formats
1N/A perlfaq7 Perl Language Issues
1N/A perlfaq8 System Interaction
1N/A=head2 Reference Manual
1N/A perldata Perl data structures
1N/A perlop Perl operators and precedence
1N/A perlsub Perl subroutines
1N/A perlfunc Perl built-in functions
1N/A perlopentut Perl open() tutorial
1N/A perlpacktut Perl pack() and unpack() tutorial
1N/A perlpod Perl plain old documentation
1N/A perlpodspec Perl plain old documentation format specification
1N/A perlrun Perl execution and options
1N/A perldiag Perl diagnostic messages
1N/A perllexwarn Perl warnings and their control
1N/A perldebug Perl debugging
1N/A perlvar Perl predefined variables
1N/A perlre Perl regular expressions, the rest of the story
1N/A perlreref Perl regular expressions quick reference
1N/A perlref Perl references, the rest of the story
1N/A perlform Perl formats
1N/A perlobj Perl objects
1N/A perltie Perl objects hidden behind simple variables
1N/A perldbmfilter Perl DBM filters
1N/A perlipc Perl interprocess communication
1N/A perlfork Perl fork() information
1N/A perlnumber Perl number semantics
1N/A perlthrtut Perl threads tutorial
1N/A perlothrtut Old Perl threads tutorial
1N/A perlport Perl portability guide
1N/A perllocale Perl locale support
1N/A perluniintro Perl Unicode introduction
1N/A perlunicode Perl Unicode support
1N/A perlebcdic Considerations for running Perl on EBCDIC platforms
1N/A perlsec Perl security
1N/A perlmod Perl modules: how they work
1N/A perlmodlib Perl modules: how to write and use
1N/A perlmodstyle Perl modules: how to write modules with style
1N/A perlmodinstall Perl modules: how to install from CPAN
1N/A perlnewmod Perl modules: preparing a new module for distribution
1N/A perlutil utilities packaged with the Perl distribution
1N/A perlcompile Perl compiler suite intro
1N/A perlfilter Perl source filters
1N/A=head2 Internals and C Language Interface
1N/A perlembed Perl ways to embed perl in your C or C++ application
1N/A perldebguts Perl debugging guts and tips
1N/A perlxstut Perl XS tutorial
1N/A perlxs Perl XS application programming interface
1N/A perlclib Internal replacements for standard C library functions
1N/A perlguts Perl internal functions for those doing extensions
1N/A perlcall Perl calling conventions from C
1N/A perlapi Perl API listing (autogenerated)
1N/A perlintern Perl internal functions (autogenerated)
1N/A perliol C API for Perl's implementation of IO in Layers
1N/A perlapio Perl internal IO abstraction interface
1N/A perlhack Perl hackers guide
1N/A perlbook Perl book information
1N/A perltodo Perl things to do
1N/A perldoc Look up Perl documentation in Pod format
1N/A perlhist Perl history records
1N/A perldelta Perl changes since previous version
1N/A perl583delta Perl changes in version 5.8.3
1N/A perl582delta Perl changes in version 5.8.2
1N/A perl581delta Perl changes in version 5.8.1
1N/A perl58delta Perl changes in version 5.8.0
1N/A perl573delta Perl changes in version 5.7.3
1N/A perl572delta Perl changes in version 5.7.2
1N/A perl571delta Perl changes in version 5.7.1
1N/A perl570delta Perl changes in version 5.7.0
1N/A perl561delta Perl changes in version 5.6.1
1N/A perl56delta Perl changes in version 5.6
1N/A perl5005delta Perl changes in version 5.005
1N/A perl5004delta Perl changes in version 5.004
1N/A perlartistic Perl Artistic License
1N/A perlgpl GNU General Public License
1N/A=head2 Language-Specific
1N/A perlcn Perl for Simplified Chinese (in EUC-CN)
1N/A perljp Perl for Japanese (in EUC-JP)
1N/A perlko Perl for Korean (in EUC-KR)
1N/A perltw Perl for Traditional Chinese (in Big5)
1N/A=head2 Platform-Specific
1N/A perlsolaris Perl notes for Solaris
1N/AExtensive additional documentation for Perl modules is available. This
1N/ASome of this additional documentation is distributed standard with Perl,
1N/Abut you'll also find documentation for any customer-installed third-party
1N/Ain the MANPATH environment variable. Notice that running catman(1M) on the
1N/APerl manual pages is not supported. For other Solaris-specific details,
1N/Asee the NOTES section below.
1N/AIf something strange has gone wrong with your program and you're not
1N/Asure where you should look for help, try the B<-w> switch first. It
1N/Awill often point out exactly where the trouble is.
1N/APerl is a language optimized for scanning arbitrary
1N/Atext files, extracting information from those text files, and printing
1N/Areports based on that information. It's also a good language for many
1N/Asystem management tasks. The language is intended to be practical
1N/A(easy to use, efficient, complete) rather than beautiful (tiny,
1N/APerl combines (in the author's opinion, anyway) some of the best
1N/Afeatures of C, B<sed>, B<awk>, and B<sh>, so people familiar with
1N/Athose languages should have little difficulty with it. (Language
1N/Ahistorians will also note some vestiges of B<csh>, Pascal, and even
1N/ABASIC-PLUS.) Expression syntax corresponds closely to C
1N/Aexpression syntax. Unlike most Unix utilities, Perl does not
1N/Aarbitrarily limit the size of your data--if you've got the memory,
1N/APerl can slurp in your whole file as a single string. Recursion is of
1N/Aunlimited depth. And the tables used by hashes (sometimes called
1N/A"associative arrays") grow as necessary to prevent degraded
1N/Aperformance. Perl can use sophisticated pattern matching techniques to
1N/Ascan large amounts of data quickly. Although optimized for
1N/Ascanning text, Perl can also deal with binary data, and can make dbm
1N/Afiles look like hashes. Setuid Perl scripts are safer than C programs
1N/Athrough a dataflow tracing mechanism that prevents many stupid
1N/AIf you have a problem that would ordinarily use B<sed> or B<awk> or
1N/AB<sh>, but it exceeds their capabilities or must run a little faster,
1N/Aand you don't want to write the silly thing in C, then Perl may be for
1N/Ayou. There are also translators to turn your B<sed> and B<awk>
1N/Ascripts into Perl scripts.
1N/ABut wait, there's more...
1N/ABegun in 1993 (see L<perlhist>), Perl version 5 is nearly a complete
1N/Arewrite that provides the following additional benefits:
1N/Amodularity and reusability using innumerable modules
1N/ADescribed in L<perlmod>, L<perlmodlib>, and L<perlmodinstall>.
1N/Aembeddable and extensible
1N/ADescribed in L<perlembed>, L<perlxstut>, L<perlxs>, L<perlcall>,
1N/AL<perlguts>, and L<xsubpp>.
1N/Aroll-your-own magic variables (including multiple simultaneous DBM
1N/ADescribed in L<perltie> and L<AnyDBM_File>.
1N/Asubroutines can now be overridden, autoloaded, and prototyped
1N/ADescribed in L<perlsub>.
1N/Aarbitrarily nested data structures and anonymous functions
1N/ADescribed in L<perlreftut>, L<perlref>, L<perldsc>, and L<perllol>.
1N/Aobject-oriented programming
1N/ADescribed in L<perlobj>, L<perlboot>, L<perltoot>, L<perltooc>,
1N/Asupport for light-weight processes (threads)
1N/ADescribed in L<perlthrtut> and L<threads>.
1N/Asupport for Unicode, internationalization, and localization
1N/ADescribed in L<perluniintro>, L<perllocale> and L<Locale::Maketext>.
1N/ADescribed in L<perlsub>.
1N/Aregular expression enhancements
1N/ADescribed in L<perlre>, with additional examples in L<perlop>.
1N/Aenhanced debugger and interactive Perl environment,
1N/Awith integrated editor support
1N/ADescribed in L<perldebtut>, L<perldebug> and L<perldebguts>.
1N/APOSIX 1003.1 compliant library
1N/ADescribed in L<POSIX>.
1N/AOkay, that's I<definitely> enough hype.
1N/APerl is available for most operating systems, including virtually
1N/Aall Unix-like platforms. See L<perlport/"Supported Platforms">
1N/AThe Perl shipped with Solaris is installed under F<
/usr/perl5> rather
1N/Athan the default F<
/usr/local> location. This is so that it can coexist
1N/Awith a customer-installed Perl in the default F<
/usr/local> location.
1N/AAny additional modules that you choose to install will be placed in the
1N/Adirectory is reserved for SMI-provided modules.
1N/ANotice that the Perl utility scripts such as perldoc and perlbug are in
1N/ASee also the L<perlrun> mapage.
1N/ALarry Wall <larry@wall.org>, with the help of oodles of other folks.
1N/AIf your Perl success stories and testimonials may be of help to others
1N/Awho wish to advocate the use of Perl in their applications,
1N/Aor if you wish to simply express your gratitude to Larry and the
1N/APerl developers, please write to perl-thanks@perl.org .
1N/A "@INC" locations of perl libraries
1N/ASee attributes(5) for descriptions of the following attributes:
1N/A ____________________________________________________________
1N/A | ATTRIBUTE TYPE | ATTRIBUTE VALUE |
1N/A |_____________________________|_____________________________|
1N/A | Availability | SUNWperl583core |
1N/A | | SUNWperl583usr |
1N/A | | SUNWperl583man |
1N/A |_____________________________|_____________________________|
1N/A | Interface Stability | |
1N/A |_____________________________|_____________________________|
1N/A | o Script interface | Evolving |
1N/A |_____________________________|_____________________________|
1N/A | o XSUB interface | Evolving |
1N/A |_____________________________|_____________________________|
1N/A | o Binary interface | Unstable |
1N/A |_____________________________|_____________________________|
1N/A | o Directory layout | Evolving |
1N/A |_____________________________|_____________________________|
1N/A perlsolaris(1) Perl version 5 on Solaris systems
1N/A perlgcc(1) Compile perl modules using gcc
1N/A a2p awk to perl translator
1N/A s2p sed to perl translator
1N/AThe C<use warnings> pragma (and the B<-w> switch) produces some
1N/ASee L<perldiag> for explanations of all Perl's diagnostics. The C<use
1N/Adiagnostics> pragma automatically turns Perl's normally terse warnings
1N/Aand errors into these longer forms.
1N/ACompilation errors will tell you the line number of the error, with an
1N/Aindication of the next token or token type that was to be examined.
1N/A(In a script passed to Perl via B<-e> switches, each
1N/AB<-e> is counted as one line.)
1N/ASetuid scripts have additional constraints that can produce error
1N/Amessages such as "Insecure dependency". See L<perlsec>.
1N/ADid we mention that you should definitely consider using the B<-w>
1N/APerl 5.8.4 has been built to be largefile-aware and to use 64-bit integers,
1N/Aalthough the interpreter itself is a 32-bit application (LP32). To view
1N/Adetailed configuration information, use perl -V and perlbug -dv.
1N/AIf you wish to build and install add-on modules from CPAN using gcc, you can do
1N/AIf you wish to build and install your own version of Perl, you should NOT
1N/Aremove the 5.8.4 version of perl under
/usr/perl5, as it is required by
1N/Aseveral system utilities. The Perl package names are as follows:
1N/A SUNWperl583core Perl 5.8.4 (Core files)
1N/A SUNWperl583usr Perl 5.8.4 (Non-core files)
1N/A SUNWperl583man Perl 5.8.4 (Manual pages)
1N/AThe Perl motto is "There's more than one way to do it." Divining
1N/Ahow many more is left as an exercise to the reader.
1N/AThe three principal virtues of a programmer are Laziness,
1N/AImpatience, and Hubris. See the Camel Book for why.
1N/AThe B<-w> switch is not mandatory.
1N/APerl is at the mercy of your machine's definitions of various
1N/Aoperations such as type casting, atof(), and floating-point
1N/Aoutput with sprintf().
1N/AIf your stdio requires a seek or eof between reads and writes on a
1N/Aparticular stream, so does Perl. (This doesn't apply to sysread()
1N/AWhile none of the built-in data types have any arbitrary size limits
1N/A(apart from memory size), there are still a few arbitrary limits: a
1N/Agiven variable name may not be longer than 251 characters. Line numbers
1N/Adisplayed by diagnostics are internally stored as short integers,
1N/Aso they are limited to a maximum of 65535 (higher numbers usually being
1N/Aaffected by wraparound).
1N/AYou may mail your bug reports (be sure to include full configuration
1N/Ainformation as output by the myconfig program in the perl source
1N/Atree, or by C<perl -V>) to perlbug@perl.org . If you've succeeded
1N/Ain compiling perl, the B<perlbug> script in the F<utils/> subdirectory
1N/Acan be used to help mail in a bug report.
1N/APerl actually stands for Pathologically Eclectic Rubbish Lister, but
1N/Adon't tell anyone I said that.