home *** CD-ROM | disk | FTP | other *** search
/ Australian Personal Computer 2004 July / APC0407D2.iso / workshop / apache / files / ActivePerl-5.8.3.809-MSWin32-x86.msi / _fcee4636ab4ee97771bc352f34b254f4 < prev    next >
Encoding:
Text File  |  2004-02-02  |  14.3 KB  |  431 lines

  1. =head1 NAME
  2.  
  3. perl - Practical Extraction and Report Language
  4.  
  5. =head1 SYNOPSIS
  6.  
  7. B<perl>    S<[ B<-sTuU> ]> S<[ B<-hv> ] [ B<-V>[:I<configvar>] ]>
  8.     S<[ B<-cw> ] [ B<-d>[:I<debugger>] ] [ B<-D>[I<number/list>] ]>
  9.     S<[ B<-pna> ] [ B<-F>I<pattern> ] [ B<-l>[I<octal>] ] [ B<-0>[I<octal>] ]>
  10.     S<[ B<-I>I<dir> ] [ B<-m>[B<->]I<module> ] [ B<-M>[B<->]I<'module...'> ]>
  11.     S<[ B<-P> ]> S<[ B<-S> ]> S<[ B<-x>[I<dir>] ]>
  12.     S<[ B<-i>[I<extension>] ]> S<[ B<-e> I<'command'> ] 
  13.     [ B<--> ] [ I<programfile> ] [ I<argument> ]...>
  14.  
  15. If you're new to Perl, you should start with L<perlintro>, which is a 
  16. general intro for beginners and provides some background to help you
  17. navigate the rest of Perl's extensive documentation.
  18.  
  19. For ease of access, the Perl manual has been split up into several sections.
  20.  
  21. =head2 Overview
  22.  
  23.     perl        Perl overview (this section)
  24.     perlintro        Perl introduction for beginners
  25.     perltoc        Perl documentation table of contents
  26.  
  27. =head2 Tutorials
  28.  
  29.     perlreftut        Perl references short introduction
  30.     perldsc        Perl data structures intro
  31.     perllol        Perl data structures: arrays of arrays
  32.  
  33.     perlrequick     Perl regular expressions quick start
  34.     perlretut        Perl regular expressions tutorial
  35.  
  36.     perlboot        Perl OO tutorial for beginners
  37.     perltoot        Perl OO tutorial, part 1
  38.     perltooc        Perl OO tutorial, part 2
  39.     perlbot        Perl OO tricks and examples
  40.  
  41.     perlstyle        Perl style guide
  42.  
  43.     perlcheat        Perl cheat sheet
  44.     perltrap        Perl traps for the unwary
  45.     perldebtut        Perl debugging tutorial
  46.  
  47.     perlfaq        Perl frequently asked questions
  48.       perlfaq1        General Questions About Perl
  49.       perlfaq2        Obtaining and Learning about Perl
  50.       perlfaq3        Programming Tools
  51.       perlfaq4        Data Manipulation
  52.       perlfaq5        Files and Formats
  53.       perlfaq6        Regexes
  54.       perlfaq7        Perl Language Issues
  55.       perlfaq8        System Interaction
  56.       perlfaq9        Networking
  57.  
  58. =head2 Reference Manual
  59.  
  60.     perlsyn        Perl syntax
  61.     perldata        Perl data structures
  62.     perlop        Perl operators and precedence
  63.     perlsub        Perl subroutines
  64.     perlfunc        Perl built-in functions
  65.       perlopentut    Perl open() tutorial
  66.       perlpacktut    Perl pack() and unpack() tutorial
  67.     perlpod        Perl plain old documentation
  68.     perlpodspec     Perl plain old documentation format specification
  69.     perlrun        Perl execution and options
  70.     perldiag        Perl diagnostic messages
  71.     perllexwarn     Perl warnings and their control
  72.     perldebug        Perl debugging
  73.     perlvar        Perl predefined variables
  74.     perlre        Perl regular expressions, the rest of the story
  75.     perlreref        Perl regular expressions quick reference
  76.     perlref        Perl references, the rest of the story
  77.     perlform        Perl formats
  78.     perlobj        Perl objects
  79.     perltie        Perl objects hidden behind simple variables
  80.       perldbmfilter    Perl DBM filters
  81.  
  82.     perlipc        Perl interprocess communication
  83.     perlfork        Perl fork() information
  84.     perlnumber        Perl number semantics
  85.  
  86.     perlthrtut        Perl threads tutorial
  87.       perlothrtut    Old Perl threads tutorial
  88.  
  89.     perlport        Perl portability guide
  90.     perllocale        Perl locale support
  91.     perluniintro    Perl Unicode introduction
  92.     perlunicode     Perl Unicode support
  93.     perlebcdic        Considerations for running Perl on EBCDIC platforms
  94.  
  95.     perlsec        Perl security
  96.  
  97.     perlmod        Perl modules: how they work
  98.     perlmodlib        Perl modules: how to write and use
  99.     perlmodstyle    Perl modules: how to write modules with style
  100.     perlmodinstall    Perl modules: how to install from CPAN
  101.     perlnewmod        Perl modules: preparing a new module for distribution
  102.  
  103.     perlutil        utilities packaged with the Perl distribution
  104.  
  105.     perlcompile     Perl compiler suite intro
  106.  
  107.     perlfilter        Perl source filters
  108.  
  109. =head2 Internals and C Language Interface
  110.  
  111.     perlembed        Perl ways to embed perl in your C or C++ application
  112.     perldebguts     Perl debugging guts and tips
  113.     perlxstut        Perl XS tutorial
  114.     perlxs        Perl XS application programming interface
  115.     perlclib        Internal replacements for standard C library functions
  116.     perlguts        Perl internal functions for those doing extensions
  117.     perlcall        Perl calling conventions from C
  118.  
  119.     perlapi        Perl API listing (autogenerated)
  120.     perlintern        Perl internal functions (autogenerated)
  121.     perliol        C API for Perl's implementation of IO in Layers
  122.     perlapio        Perl internal IO abstraction interface
  123.  
  124.     perlhack        Perl hackers guide
  125.  
  126. =head2 Miscellaneous
  127.  
  128.     perlbook        Perl book information
  129.     perltodo        Perl things to do
  130.  
  131.     perldoc        Look up Perl documentation in Pod format
  132.  
  133.     perlhist        Perl history records
  134.     perldelta        Perl changes since previous version
  135.     perl582delta    Perl changes in version 5.8.2
  136.     perl581delta    Perl changes in version 5.8.1
  137.     perl58delta     Perl changes in version 5.8.0
  138.     perl573delta    Perl changes in version 5.7.3
  139.     perl572delta    Perl changes in version 5.7.2
  140.     perl571delta    Perl changes in version 5.7.1
  141.     perl570delta    Perl changes in version 5.7.0
  142.     perl561delta    Perl changes in version 5.6.1
  143.     perl56delta     Perl changes in version 5.6
  144.     perl5005delta    Perl changes in version 5.005
  145.     perl5004delta    Perl changes in version 5.004
  146.  
  147.     perlartistic    Perl Artistic License
  148.     perlgpl        GNU General Public License
  149.  
  150. =head2 Language-Specific
  151.  
  152.     perlcn        Perl for Simplified Chinese (in EUC-CN)
  153.     perljp        Perl for Japanese (in EUC-JP)
  154.     perlko        Perl for Korean (in EUC-KR)
  155.     perltw        Perl for Traditional Chinese (in Big5)
  156.  
  157. =head2 Platform-Specific
  158.  
  159.     perlaix        Perl notes for AIX
  160.     perlamiga        Perl notes for AmigaOS
  161.     perlapollo        Perl notes for Apollo DomainOS
  162.     perlbeos        Perl notes for BeOS
  163.     perlbs2000        Perl notes for POSIX-BC BS2000
  164.     perlce        Perl notes for WinCE
  165.     perlcygwin        Perl notes for Cygwin
  166.     perldgux        Perl notes for DG/UX
  167.     perldos        Perl notes for DOS
  168.     perlepoc        Perl notes for EPOC
  169.     perlfreebsd     Perl notes for FreeBSD
  170.     perlhpux        Perl notes for HP-UX
  171.     perlhurd        Perl notes for Hurd
  172.     perlirix        Perl notes for Irix
  173.     perlmachten     Perl notes for Power MachTen
  174.     perlmacos        Perl notes for Mac OS (Classic)
  175.     perlmacosx        Perl notes for Mac OS X
  176.     perlmint        Perl notes for MiNT
  177.     perlmpeix        Perl notes for MPE/iX
  178.     perlnetware     Perl notes for NetWare
  179.     perlos2        Perl notes for OS/2
  180.     perlos390        Perl notes for OS/390
  181.     perlos400        Perl notes for OS/400
  182.     perlplan9        Perl notes for Plan 9
  183.     perlqnx        Perl notes for QNX
  184.     perlsolaris     Perl notes for Solaris
  185.     perltru64        Perl notes for Tru64
  186.     perluts        Perl notes for UTS
  187.     perlvmesa        Perl notes for VM/ESA
  188.     perlvms        Perl notes for VMS
  189.     perlvos        Perl notes for Stratus VOS
  190.     perlwin32        Perl notes for Windows
  191.  
  192.  
  193. By default, the manpages listed above are installed in the 
  194. F</usr/local/man/> directory.  
  195.  
  196. Extensive additional documentation for Perl modules is available.  The
  197. default configuration for perl will place this additional documentation
  198. in the F</usr/local/lib/perl5/man> directory (or else in the F<man>
  199. subdirectory of the Perl library directory).  Some of this additional
  200. documentation is distributed standard with Perl, but you'll also find
  201. documentation for third-party modules there.
  202.  
  203. You should be able to view Perl's documentation with your man(1)
  204. program by including the proper directories in the appropriate start-up
  205. files, or in the MANPATH environment variable.  To find out where the
  206. configuration has installed the manpages, type:
  207.  
  208.     perl -V:man.dir
  209.  
  210. If the directories have a common stem, such as F</usr/local/man/man1>
  211. and F</usr/local/man/man3>, you need only to add that stem
  212. (F</usr/local/man>) to your man(1) configuration files or your MANPATH
  213. environment variable.  If they do not share a stem, you'll have to add
  214. both stems.
  215.  
  216. If that doesn't work for some reason, you can still use the
  217. supplied F<perldoc> script to view module information.  You might
  218. also look into getting a replacement man program.
  219.  
  220. If something strange has gone wrong with your program and you're not
  221. sure where you should look for help, try the B<-w> switch first.  It
  222. will often point out exactly where the trouble is.
  223.  
  224. =head1 DESCRIPTION
  225.  
  226. Perl is a language optimized for scanning arbitrary
  227. text files, extracting information from those text files, and printing
  228. reports based on that information.  It's also a good language for many
  229. system management tasks.  The language is intended to be practical
  230. (easy to use, efficient, complete) rather than beautiful (tiny,
  231. elegant, minimal).
  232.  
  233. Perl combines (in the author's opinion, anyway) some of the best
  234. features of C, B<sed>, B<awk>, and B<sh>, so people familiar with
  235. those languages should have little difficulty with it.  (Language
  236. historians will also note some vestiges of B<csh>, Pascal, and even
  237. BASIC-PLUS.)  Expression syntax corresponds closely to C
  238. expression syntax.  Unlike most Unix utilities, Perl does not
  239. arbitrarily limit the size of your data--if you've got the memory,
  240. Perl can slurp in your whole file as a single string.  Recursion is of
  241. unlimited depth.  And the tables used by hashes (sometimes called
  242. "associative arrays") grow as necessary to prevent degraded
  243. performance.  Perl can use sophisticated pattern matching techniques to
  244. scan large amounts of data quickly.  Although optimized for
  245. scanning text, Perl can also deal with binary data, and can make dbm
  246. files look like hashes.  Setuid Perl scripts are safer than C programs
  247. through a dataflow tracing mechanism that prevents many stupid
  248. security holes.
  249.  
  250. If you have a problem that would ordinarily use B<sed> or B<awk> or
  251. B<sh>, but it exceeds their capabilities or must run a little faster,
  252. and you don't want to write the silly thing in C, then Perl may be for
  253. you.  There are also translators to turn your B<sed> and B<awk>
  254. scripts into Perl scripts.
  255.  
  256. But wait, there's more...
  257.  
  258. Begun in 1993 (see L<perlhist>), Perl version 5 is nearly a complete
  259. rewrite that provides the following additional benefits:
  260.  
  261. =over 4
  262.  
  263. =item *
  264.  
  265. modularity and reusability using innumerable modules 
  266.  
  267. Described in L<perlmod>, L<perlmodlib>, and L<perlmodinstall>.
  268.  
  269. =item *
  270.  
  271. embeddable and extensible 
  272.  
  273. Described in L<perlembed>, L<perlxstut>, L<perlxs>, L<perlcall>,
  274. L<perlguts>, and L<xsubpp>.
  275.  
  276. =item *
  277.  
  278. roll-your-own magic variables (including multiple simultaneous DBM
  279. implementations)
  280.  
  281. Described in L<perltie> and L<AnyDBM_File>.
  282.  
  283. =item *
  284.  
  285. subroutines can now be overridden, autoloaded, and prototyped
  286.  
  287. Described in L<perlsub>.
  288.  
  289. =item *
  290.  
  291. arbitrarily nested data structures and anonymous functions
  292.  
  293. Described in L<perlreftut>, L<perlref>, L<perldsc>, and L<perllol>.
  294.  
  295. =item *
  296.  
  297. object-oriented programming
  298.  
  299. Described in L<perlobj>, L<perlboot>, L<perltoot>, L<perltooc>,
  300. and L<perlbot>.
  301.  
  302. =item *
  303.  
  304. support for light-weight processes (threads)
  305.  
  306. Described in L<perlthrtut> and L<threads>.
  307.  
  308. =item *
  309.  
  310. support for Unicode, internationalization, and localization
  311.  
  312. Described in L<perluniintro>, L<perllocale> and L<Locale::Maketext>.
  313.  
  314. =item *
  315.  
  316. lexical scoping
  317.  
  318. Described in L<perlsub>.
  319.  
  320. =item *
  321.  
  322. regular expression enhancements
  323.  
  324. Described in L<perlre>, with additional examples in L<perlop>.
  325.  
  326. =item *
  327.  
  328. enhanced debugger and interactive Perl environment,
  329. with integrated editor support
  330.  
  331. Described in L<perldebtut>, L<perldebug> and L<perldebguts>.
  332.  
  333. =item *
  334.  
  335. POSIX 1003.1 compliant library
  336.  
  337. Described in L<POSIX>.
  338.  
  339. =back
  340.  
  341. Okay, that's I<definitely> enough hype.
  342.  
  343. =head1 AVAILABILITY
  344.  
  345. Perl is available for most operating systems, including virtually
  346. all Unix-like platforms.  See L<perlport/"Supported Platforms">
  347. for a listing.
  348.  
  349. =head1 ENVIRONMENT
  350.  
  351. See L<perlrun>.
  352.  
  353. =head1 AUTHOR
  354.  
  355. Larry Wall <larry@wall.org>, with the help of oodles of other folks.
  356.  
  357. If your Perl success stories and testimonials may be of help to others 
  358. who wish to advocate the use of Perl in their applications, 
  359. or if you wish to simply express your gratitude to Larry and the 
  360. Perl developers, please write to perl-thanks@perl.org .
  361.  
  362. =head1 FILES
  363.  
  364.  "@INC"            locations of perl libraries
  365.  
  366. =head1 SEE ALSO
  367.  
  368.  a2p    awk to perl translator
  369.  s2p    sed to perl translator
  370.  
  371.  http://www.perl.com/       the Perl Home Page
  372.  http://www.cpan.org/       the Comprehensive Perl Archive
  373.  http://www.perl.org/       Perl Mongers (Perl user groups)
  374.  
  375. =head1 DIAGNOSTICS
  376.  
  377. The C<use warnings> pragma (and the B<-w> switch) produces some 
  378. lovely diagnostics.
  379.  
  380. See L<perldiag> for explanations of all Perl's diagnostics.  The C<use
  381. diagnostics> pragma automatically turns Perl's normally terse warnings
  382. and errors into these longer forms.
  383.  
  384. Compilation errors will tell you the line number of the error, with an
  385. indication of the next token or token type that was to be examined.
  386. (In a script passed to Perl via B<-e> switches, each
  387. B<-e> is counted as one line.)
  388.  
  389. Setuid scripts have additional constraints that can produce error
  390. messages such as "Insecure dependency".  See L<perlsec>.
  391.  
  392. Did we mention that you should definitely consider using the B<-w>
  393. switch?
  394.  
  395. =head1 BUGS
  396.  
  397. The B<-w> switch is not mandatory.
  398.  
  399. Perl is at the mercy of your machine's definitions of various
  400. operations such as type casting, atof(), and floating-point
  401. output with sprintf().
  402.  
  403. If your stdio requires a seek or eof between reads and writes on a
  404. particular stream, so does Perl.  (This doesn't apply to sysread()
  405. and syswrite().)
  406.  
  407. While none of the built-in data types have any arbitrary size limits
  408. (apart from memory size), there are still a few arbitrary limits:  a
  409. given variable name may not be longer than 251 characters.  Line numbers
  410. displayed by diagnostics are internally stored as short integers,
  411. so they are limited to a maximum of 65535 (higher numbers usually being
  412. affected by wraparound).
  413.  
  414. You may mail your bug reports (be sure to include full configuration
  415. information as output by the myconfig program in the perl source
  416. tree, or by C<perl -V>) to perlbug@perl.org .  If you've succeeded
  417. in compiling perl, the B<perlbug> script in the F<utils/> subdirectory
  418. can be used to help mail in a bug report.
  419.  
  420. Perl actually stands for Pathologically Eclectic Rubbish Lister, but
  421. don't tell anyone I said that.
  422.  
  423. =head1 NOTES
  424.  
  425. The Perl motto is "There's more than one way to do it."  Divining
  426. how many more is left as an exercise to the reader.
  427.  
  428. The three principal virtues of a programmer are Laziness,
  429. Impatience, and Hubris.  See the Camel Book for why.
  430.  
  431.