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