| 1 | .\" Automatically generated by Pod::Man v1.34, Pod::Parser v1.13 |
| 2 | .\" |
| 3 | .\" Standard preamble: |
| 4 | .\" ======================================================================== |
| 5 | .de Sh \" Subsection heading |
| 6 | .br |
| 7 | .if t .Sp |
| 8 | .ne 5 |
| 9 | .PP |
| 10 | \fB\\$1\fR |
| 11 | .PP |
| 12 | .. |
| 13 | .de Sp \" Vertical space (when we can't use .PP) |
| 14 | .if t .sp .5v |
| 15 | .if n .sp |
| 16 | .. |
| 17 | .de Vb \" Begin verbatim text |
| 18 | .ft CW |
| 19 | .nf |
| 20 | .ne \\$1 |
| 21 | .. |
| 22 | .de Ve \" End verbatim text |
| 23 | .ft R |
| 24 | .fi |
| 25 | .. |
| 26 | .\" Set up some character translations and predefined strings. \*(-- will |
| 27 | .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left |
| 28 | .\" double quote, and \*(R" will give a right double quote. | will give a |
| 29 | .\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to |
| 30 | .\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' |
| 31 | .\" expand to `' in nroff, nothing in troff, for use with C<>. |
| 32 | .tr \(*W-|\(bv\*(Tr |
| 33 | .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' |
| 34 | .ie n \{\ |
| 35 | . ds -- \(*W- |
| 36 | . ds PI pi |
| 37 | . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch |
| 38 | . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch |
| 39 | . ds L" "" |
| 40 | . ds R" "" |
| 41 | . ds C` "" |
| 42 | . ds C' "" |
| 43 | 'br\} |
| 44 | .el\{\ |
| 45 | . ds -- \|\(em\| |
| 46 | . ds PI \(*p |
| 47 | . ds L" `` |
| 48 | . ds R" '' |
| 49 | 'br\} |
| 50 | .\" |
| 51 | .\" If the F register is turned on, we'll generate index entries on stderr for |
| 52 | .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index |
| 53 | .\" entries marked with X<> in POD. Of course, you'll have to process the |
| 54 | .\" output yourself in some meaningful fashion. |
| 55 | .if \nF \{\ |
| 56 | . de IX |
| 57 | . tm Index:\\$1\t\\n%\t"\\$2" |
| 58 | .. |
| 59 | . nr % 0 |
| 60 | . rr F |
| 61 | .\} |
| 62 | .\" |
| 63 | .\" For nroff, turn off justification. Always turn off hyphenation; it makes |
| 64 | .\" way too many mistakes in technical documents. |
| 65 | .hy 0 |
| 66 | .if n .na |
| 67 | .\" |
| 68 | .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). |
| 69 | .\" Fear. Run. Save yourself. No user-serviceable parts. |
| 70 | . \" fudge factors for nroff and troff |
| 71 | .if n \{\ |
| 72 | . ds #H 0 |
| 73 | . ds #V .8m |
| 74 | . ds #F .3m |
| 75 | . ds #[ \f1 |
| 76 | . ds #] \fP |
| 77 | .\} |
| 78 | .if t \{\ |
| 79 | . ds #H ((1u-(\\\\n(.fu%2u))*.13m) |
| 80 | . ds #V .6m |
| 81 | . ds #F 0 |
| 82 | . ds #[ \& |
| 83 | . ds #] \& |
| 84 | .\} |
| 85 | . \" simple accents for nroff and troff |
| 86 | .if n \{\ |
| 87 | . ds ' \& |
| 88 | . ds ` \& |
| 89 | . ds ^ \& |
| 90 | . ds , \& |
| 91 | . ds ~ ~ |
| 92 | . ds / |
| 93 | .\} |
| 94 | .if t \{\ |
| 95 | . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" |
| 96 | . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' |
| 97 | . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' |
| 98 | . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' |
| 99 | . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' |
| 100 | . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' |
| 101 | .\} |
| 102 | . \" troff and (daisy-wheel) nroff accents |
| 103 | .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' |
| 104 | .ds 8 \h'\*(#H'\(*b\h'-\*(#H' |
| 105 | .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] |
| 106 | .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' |
| 107 | .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' |
| 108 | .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] |
| 109 | .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] |
| 110 | .ds ae a\h'-(\w'a'u*4/10)'e |
| 111 | .ds Ae A\h'-(\w'A'u*4/10)'E |
| 112 | . \" corrections for vroff |
| 113 | .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' |
| 114 | .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' |
| 115 | . \" for low resolution devices (crt and lpr) |
| 116 | .if \n(.H>23 .if \n(.V>19 \ |
| 117 | \{\ |
| 118 | . ds : e |
| 119 | . ds 8 ss |
| 120 | . ds o a |
| 121 | . ds d- d\h'-1'\(ga |
| 122 | . ds D- D\h'-1'\(hy |
| 123 | . ds th \o'bp' |
| 124 | . ds Th \o'LP' |
| 125 | . ds ae ae |
| 126 | . ds Ae AE |
| 127 | .\} |
| 128 | .rm #[ #] #H #V #F C |
| 129 | .\" ======================================================================== |
| 130 | .\" |
| 131 | .IX Title "PERLFAQ2 1" |
| 132 | .TH PERLFAQ2 1 "2002-06-08" "perl v5.8.0" "Perl Programmers Reference Guide" |
| 133 | .SH "NAME" |
| 134 | perlfaq2 \- Obtaining and Learning about Perl ($Revision: 1.13 $, $Date: 2002/04/26 16:56:35 $) |
| 135 | .SH "DESCRIPTION" |
| 136 | .IX Header "DESCRIPTION" |
| 137 | This section of the \s-1FAQ\s0 answers questions about where to find |
| 138 | source and documentation for Perl, support, and |
| 139 | related matters. |
| 140 | .Sh "What machines support Perl? Where do I get it?" |
| 141 | .IX Subsection "What machines support Perl? Where do I get it?" |
| 142 | The standard release of Perl (the one maintained by the perl |
| 143 | development team) is distributed only in source code form. You |
| 144 | can find this at http://www.cpan.org/src/latest.tar.gz , which |
| 145 | is in a standard Internet format (a gzipped archive in \s-1POSIX\s0 tar format). |
| 146 | .PP |
| 147 | Perl builds and runs on a bewildering number of platforms. Virtually |
| 148 | all known and current Unix derivatives are supported (Perl's native |
| 149 | platform), as are other systems like \s-1VMS\s0, \s-1DOS\s0, \s-1OS/2\s0, Windows, |
| 150 | \&\s-1QNX\s0, BeOS, \s-1OS\s0 X, MPE/iX and the Amiga. |
| 151 | .PP |
| 152 | Binary distributions for some proprietary platforms, including |
| 153 | Apple systems, can be found http://www.cpan.org/ports/ directory. |
| 154 | Because these are not part of the standard distribution, they may |
| 155 | and in fact do differ from the base Perl port in a variety of ways. |
| 156 | You'll have to check their respective release notes to see just |
| 157 | what the differences are. These differences can be either positive |
| 158 | (e.g. extensions for the features of the particular platform that |
| 159 | are not supported in the source release of perl) or negative (e.g. |
| 160 | might be based upon a less current source release of perl). |
| 161 | .Sh "How can I get a binary version of Perl?" |
| 162 | .IX Subsection "How can I get a binary version of Perl?" |
| 163 | If you don't have a C compiler because your vendor for whatever |
| 164 | reasons did not include one with your system, the best thing to do is |
| 165 | grab a binary version of gcc from the net and use that to compile perl |
| 166 | with. \s-1CPAN\s0 only has binaries for systems that are terribly hard to |
| 167 | get free compilers for, not for Unix systems. |
| 168 | .PP |
| 169 | Some URLs that might help you are: |
| 170 | .PP |
| 171 | .Vb 2 |
| 172 | \& http://www.cpan.org/ports/ |
| 173 | \& http://www.perl.com/pub/language/info/software.html |
| 174 | .Ve |
| 175 | .PP |
| 176 | Someone looking for a Perl for Win16 might look to Laszlo Molnar's djgpp |
| 177 | port in http://www.cpan.org/ports/#msdos , which comes with clear |
| 178 | installation instructions. A simple installation guide for MS-DOS using |
| 179 | Ilya Zakharevich's \s-1OS/2\s0 port is available at |
| 180 | http://www.cs.ruu.nl/%7Epiet/perl5dos.html |
| 181 | and similarly for Windows 3.1 at http://www.cs.ruu.nl/%7Epiet/perlwin3.html . |
| 182 | .Sh "I don't have a C compiler on my system. How can I compile perl?" |
| 183 | .IX Subsection "I don't have a C compiler on my system. How can I compile perl?" |
| 184 | Since you don't have a C compiler, you're doomed and your vendor |
| 185 | should be sacrificed to the Sun gods. But that doesn't help you. |
| 186 | .PP |
| 187 | What you need to do is get a binary version of gcc for your system |
| 188 | first. Consult the Usenet FAQs for your operating system for |
| 189 | information on where to get such a binary version. |
| 190 | .Sh "I copied the Perl binary from one machine to another, but scripts don't work." |
| 191 | .IX Subsection "I copied the Perl binary from one machine to another, but scripts don't work." |
| 192 | That's probably because you forgot libraries, or library paths differ. |
| 193 | You really should build the whole distribution on the machine it will |
| 194 | eventually live on, and then type \f(CW\*(C`make install\*(C'\fR. Most other |
| 195 | approaches are doomed to failure. |
| 196 | .PP |
| 197 | One simple way to check that things are in the right place is to print out |
| 198 | the hard-coded \f(CW@INC\fR that perl looks through for libraries: |
| 199 | .PP |
| 200 | .Vb 1 |
| 201 | \& % perl -e 'print join("\en",@INC)' |
| 202 | .Ve |
| 203 | .PP |
| 204 | If this command lists any paths that don't exist on your system, then you |
| 205 | may need to move the appropriate libraries to these locations, or create |
| 206 | symbolic links, aliases, or shortcuts appropriately. \f(CW@INC\fR is also printed as |
| 207 | part of the output of |
| 208 | .PP |
| 209 | .Vb 1 |
| 210 | \& % perl -V |
| 211 | .Ve |
| 212 | .PP |
| 213 | You might also want to check out |
| 214 | \&\*(L"How do I keep my own module/library directory?\*(R" in perlfaq8. |
| 215 | .Sh "I grabbed the sources and tried to compile but gdbm/dynamic loading/malloc/linking/... failed. How do I make it work?" |
| 216 | .IX Subsection "I grabbed the sources and tried to compile but gdbm/dynamic loading/malloc/linking/... failed. How do I make it work?" |
| 217 | Read the \fI\s-1INSTALL\s0\fR file, which is part of the source distribution. |
| 218 | It describes in detail how to cope with most idiosyncrasies that the |
| 219 | Configure script can't work around for any given system or |
| 220 | architecture. |
| 221 | .Sh "What modules and extensions are available for Perl? What is \s-1CPAN\s0? What does CPAN/src/... mean?" |
| 222 | .IX Subsection "What modules and extensions are available for Perl? What is CPAN? What does CPAN/src/... mean?" |
| 223 | \&\s-1CPAN\s0 stands for Comprehensive Perl Archive Network, a ~700mb archive |
| 224 | replicated on nearly 200 machines all over the world. \s-1CPAN\s0 contains |
| 225 | source code, non-native ports, documentation, scripts, and many |
| 226 | third-party modules and extensions, designed for everything from |
| 227 | commercial database interfaces to keyboard/screen control to web |
| 228 | walking and \s-1CGI\s0 scripts. The master web site for \s-1CPAN\s0 is |
| 229 | http://www.cpan.org/ and there is the \s-1CPAN\s0 Multiplexer at |
| 230 | http://www.cpan.org/CPAN.html which will choose a mirror near you |
| 231 | via \s-1DNS\s0. See http://www.perl.com/CPAN (without a slash at the |
| 232 | end) for how this process works. Also, http://mirror.cpan.org/ |
| 233 | has a nice interface to the http://www.cpan.org/MIRRORED.BY |
| 234 | mirror directory. |
| 235 | .PP |
| 236 | See the \s-1CPAN\s0 \s-1FAQ\s0 at http://www.cpan.org/misc/cpan\-faq.html for |
| 237 | answers to the most frequently asked questions about \s-1CPAN\s0 |
| 238 | including how to become a mirror. |
| 239 | .PP |
| 240 | CPAN/path/... is a naming convention for files available on \s-1CPAN\s0 |
| 241 | sites. \s-1CPAN\s0 indicates the base directory of a \s-1CPAN\s0 mirror, and the |
| 242 | rest of the path is the path from that directory to the file. For |
| 243 | instance, if you're using ftp://ftp.funet.fi/pub/languages/perl/CPAN |
| 244 | as your \s-1CPAN\s0 site, the file CPAN/misc/japh is downloadable as |
| 245 | ftp://ftp.funet.fi/pub/languages/perl/CPAN/misc/japh . |
| 246 | .PP |
| 247 | Considering that there are close to two thousand existing modules in |
| 248 | the archive, one probably exists to do nearly anything you can think of. |
| 249 | Current categories under CPAN/modules/by\-category/ include Perl core |
| 250 | modules; development support; operating system interfaces; networking, |
| 251 | devices, and interprocess communication; data type utilities; database |
| 252 | interfaces; user interfaces; interfaces to other languages; filenames, |
| 253 | file systems, and file locking; internationalization and locale; world |
| 254 | wide web support; server and daemon utilities; archiving and |
| 255 | compression; image manipulation; mail and news; control flow |
| 256 | utilities; filehandle and I/O; Microsoft Windows modules; and |
| 257 | miscellaneous modules. |
| 258 | .PP |
| 259 | See http://www.cpan.org/modules/00modlist.long.html or |
| 260 | http://search.cpan.org/ for a more complete list of modules by category. |
| 261 | .PP |
| 262 | \&\s-1CPAN\s0 is not affiliated with O'Reilly and Associates. |
| 263 | .Sh "Is there an \s-1ISO\s0 or \s-1ANSI\s0 certified version of Perl?" |
| 264 | .IX Subsection "Is there an ISO or ANSI certified version of Perl?" |
| 265 | Certainly not. Larry expects that he'll be certified before Perl is. |
| 266 | .Sh "Where can I get information on Perl?" |
| 267 | .IX Subsection "Where can I get information on Perl?" |
| 268 | The complete Perl documentation is available with the Perl distribution. |
| 269 | If you have Perl installed locally, you probably have the documentation |
| 270 | installed as well: type \f(CW\*(C`man perl\*(C'\fR if you're on a system resembling Unix. |
| 271 | This will lead you to other important man pages, including how to set your |
| 272 | \&\f(CW$MANPATH\fR. If you're not on a Unix system, access to the documentation |
| 273 | will be different; for example, documentation might only be in \s-1HTML\s0 format. All |
| 274 | proper Perl installations have fully-accessible documentation. |
| 275 | .PP |
| 276 | You might also try \f(CW\*(C`perldoc perl\*(C'\fR in case your system doesn't |
| 277 | have a proper man command, or it's been misinstalled. If that doesn't |
| 278 | work, try looking in /usr/local/lib/perl5/pod for documentation. |
| 279 | .PP |
| 280 | If all else fails, consult http://perldoc.cpan.org/ or |
| 281 | http://www.perldoc.com/ both offer the complete documentation |
| 282 | in html format. |
| 283 | .PP |
| 284 | Many good books have been written about Perl\*(--see the section below |
| 285 | for more details. |
| 286 | .PP |
| 287 | Tutorial documents are included in current or upcoming Perl releases |
| 288 | include perltoot for objects or perlboot for a beginner's |
| 289 | approach to objects, perlopentut for file opening semantics, |
| 290 | perlreftut for managing references, perlretut for regular |
| 291 | expressions, perlthrtut for threads, perldebtut for debugging, |
| 292 | and perlxstut for linking C and Perl together. There may be more |
| 293 | by the time you read this. The following URLs might also be of |
| 294 | assistance: |
| 295 | .PP |
| 296 | .Vb 4 |
| 297 | \& http://perldoc.cpan.org/ |
| 298 | \& http://www.perldoc.com/ |
| 299 | \& http://reference.perl.com/query.cgi?tutorials |
| 300 | \& http://bookmarks.cpan.org/search.cgi?cat=Training%2FTutorials |
| 301 | .Ve |
| 302 | .Sh "What are the Perl newsgroups on Usenet? Where do I post questions?" |
| 303 | .IX Subsection "What are the Perl newsgroups on Usenet? Where do I post questions?" |
| 304 | The now defunct comp.lang.perl newsgroup has been superseded by the |
| 305 | following groups: |
| 306 | .PP |
| 307 | .Vb 5 |
| 308 | \& comp.lang.perl.announce Moderated announcement group |
| 309 | \& comp.lang.perl.misc Very busy group about Perl in general |
| 310 | \& comp.lang.perl.moderated Moderated discussion group |
| 311 | \& comp.lang.perl.modules Use and development of Perl modules |
| 312 | \& comp.lang.perl.tk Using Tk (and X) from Perl |
| 313 | .Ve |
| 314 | .PP |
| 315 | .Vb 1 |
| 316 | \& comp.infosystems.www.authoring.cgi Writing CGI scripts for the Web. |
| 317 | .Ve |
| 318 | .PP |
| 319 | There is also a Usenet gateway to Perl mailing lists sponsored by perl.org at |
| 320 | nntp://nntp.perl.org , a web interface to the same lists at |
| 321 | http://nntp.perl.org/group/ and these lists are also available under the |
| 322 | \&\f(CW\*(C`perl.*\*(C'\fR hierarchy at http://groups.google.com . Other groups are listed at |
| 323 | http://lists.perl.org/ ( also known as http://lists.cpan.org/ ). |
| 324 | .PP |
| 325 | A nice place to ask questions is the PerlMonks site, http://www.perlmonks.org/ |
| 326 | .PP |
| 327 | Note that none of the above are supposed to write your code for you: |
| 328 | asking questions about particular problems or general advice is fine, |
| 329 | but asking someone to write your code for free is not very cool. |
| 330 | .Sh "Where should I post source code?" |
| 331 | .IX Subsection "Where should I post source code?" |
| 332 | You should post source code to whichever group is most appropriate, but |
| 333 | feel free to cross-post to comp.lang.perl.misc. If you want to cross-post |
| 334 | to alt.sources, please make sure it follows their posting standards, |
| 335 | including setting the Followup-To header line to \s-1NOT\s0 include alt.sources; |
| 336 | see their \s-1FAQ\s0 ( http://www.faqs.org/faqs/alt\-sources\-intro/ ) for details. |
| 337 | .PP |
| 338 | If you're just looking for software, first use Google |
| 339 | ( http://www.google.com ), Google's usenet search interface |
| 340 | ( http://groups.google.com ), and \s-1CPAN\s0 Search ( http://search.cpan.org ). |
| 341 | This is faster and more productive than just posting a request. |
| 342 | .Sh "Perl Books" |
| 343 | .IX Subsection "Perl Books" |
| 344 | A number of books on Perl and/or \s-1CGI\s0 programming are available. A few of |
| 345 | these are good, some are \s-1OK\s0, but many aren't worth your money. Tom |
| 346 | Christiansen maintains a list of these books, some with extensive |
| 347 | reviews, at http://www.perl.com/perl/critiques/index.html . |
| 348 | .PP |
| 349 | The incontestably definitive reference book on Perl, written by |
| 350 | the creator of Perl, is now (July 2000) in its third edition: |
| 351 | .PP |
| 352 | .Vb 5 |
| 353 | \& Programming Perl (the "Camel Book"): |
| 354 | \& by Larry Wall, Tom Christiansen, and Jon Orwant |
| 355 | \& 0-596-00027-8 [3rd edition July 2000] |
| 356 | \& http://www.oreilly.com/catalog/pperl3/ |
| 357 | \& (English, translations to several languages are also available) |
| 358 | .Ve |
| 359 | .PP |
| 360 | The companion volume to the Camel containing thousands |
| 361 | of real-world examples, mini\-tutorials, and complete programs is: |
| 362 | .PP |
| 363 | .Vb 5 |
| 364 | \& The Perl Cookbook (the "Ram Book"): |
| 365 | \& by Tom Christiansen and Nathan Torkington, |
| 366 | \& with Foreword by Larry Wall |
| 367 | \& ISBN 1-56592-243-3 [1st Edition August 1998] |
| 368 | \& http://perl.oreilly.com/cookbook/ |
| 369 | .Ve |
| 370 | .PP |
| 371 | If you're already a seasoned programmer, then the Camel Book might |
| 372 | suffice for you to learn Perl from. If you're not, check out the |
| 373 | Llama book: |
| 374 | .PP |
| 375 | .Vb 4 |
| 376 | \& Learning Perl (the "Llama Book") |
| 377 | \& by Randal L. Schwartz and Tom Phoenix |
| 378 | \& ISBN 0-596-00132-0 [3rd edition July 2001] |
| 379 | \& http://www.oreilly.com/catalog/lperl3/ |
| 380 | .Ve |
| 381 | .PP |
| 382 | If you're not an accidental programmer, but a more serious and |
| 383 | possibly even degreed computer scientist who doesn't need as much |
| 384 | hand-holding as we try to provide in the Llama, please check out the |
| 385 | delightful book |
| 386 | .PP |
| 387 | .Vb 5 |
| 388 | \& Perl: The Programmer's Companion |
| 389 | \& by Nigel Chapman |
| 390 | \& ISBN 0-471-97563-X [1997, 3rd printing Spring 1998] |
| 391 | \& http://www.wiley.com/compbooks/catalog/97563-X.htm |
| 392 | \& http://www.wiley.com/compbooks/chapman/perl/perltpc.html (errata etc) |
| 393 | .Ve |
| 394 | .PP |
| 395 | If you are more at home in Windows the following is available |
| 396 | (though unfortunately rather dated). |
| 397 | .PP |
| 398 | .Vb 5 |
| 399 | \& Learning Perl on Win32 Systems (the "Gecko Book") |
| 400 | \& by Randal L. Schwartz, Erik Olson, and Tom Christiansen, |
| 401 | \& with foreword by Larry Wall |
| 402 | \& ISBN 1-56592-324-3 [1st edition August 1997] |
| 403 | \& http://www.oreilly.com/catalog/lperlwin/ |
| 404 | .Ve |
| 405 | .PP |
| 406 | Addison-Wesley ( http://www.awlonline.com/ ) and Manning |
| 407 | ( http://www.manning.com/ ) are also publishers of some fine Perl books |
| 408 | such as \fIObject Oriented Programming with Perl\fR by Damian Conway and |
| 409 | \&\fINetwork Programming with Perl\fR by Lincoln Stein. |
| 410 | .PP |
| 411 | An excellent technical book discounter is Bookpool at |
| 412 | http://www.bookpool.com/ where a 30% discount or more is not unusual. |
| 413 | .PP |
| 414 | What follows is a list of the books that the \s-1FAQ\s0 authors found personally |
| 415 | useful. Your mileage may (but, we hope, probably won't) vary. |
| 416 | .PP |
| 417 | Recommended books on (or mostly on) Perl follow. |
| 418 | .IP "References" 4 |
| 419 | .IX Item "References" |
| 420 | .Vb 4 |
| 421 | \& Programming Perl |
| 422 | \& by Larry Wall, Tom Christiansen, and Jon Orwant |
| 423 | \& ISBN 0-596-00027-8 [3rd edition July 2000] |
| 424 | \& http://www.oreilly.com/catalog/pperl3/ |
| 425 | .Ve |
| 426 | .Sp |
| 427 | .Vb 4 |
| 428 | \& Perl 5 Pocket Reference |
| 429 | \& by Johan Vromans |
| 430 | \& ISBN 0-596-00032-4 [3rd edition May 2000] |
| 431 | \& http://www.oreilly.com/catalog/perlpr3/ |
| 432 | .Ve |
| 433 | .Sp |
| 434 | .Vb 4 |
| 435 | \& Perl in a Nutshell |
| 436 | \& by Ellen Siever, Stephan Spainhour, and Nathan Patwardhan |
| 437 | \& ISBN 1-56592-286-7 [1st edition December 1998] |
| 438 | \& http://www.oreilly.com/catalog/perlnut/ |
| 439 | .Ve |
| 440 | .IP "Tutorials" 4 |
| 441 | .IX Item "Tutorials" |
| 442 | .Vb 4 |
| 443 | \& Elements of Programming with Perl |
| 444 | \& by Andrew L. Johnson |
| 445 | \& ISBN 1-884777-80-5 [1st edition October 1999] |
| 446 | \& http://www.manning.com/Johnson/ |
| 447 | .Ve |
| 448 | .Sp |
| 449 | .Vb 4 |
| 450 | \& Learning Perl |
| 451 | \& by Randal L. Schwartz and Tom Phoenix |
| 452 | \& ISBN 0-596-00132-0 [3rd edition July 2001] |
| 453 | \& http://www.oreilly.com/catalog/lperl3/ |
| 454 | .Ve |
| 455 | .Sp |
| 456 | .Vb 5 |
| 457 | \& Learning Perl on Win32 Systems |
| 458 | \& by Randal L. Schwartz, Erik Olson, and Tom Christiansen, |
| 459 | \& with foreword by Larry Wall |
| 460 | \& ISBN 1-56592-324-3 [1st edition August 1997] |
| 461 | \& http://www.oreilly.com/catalog/lperlwin/ |
| 462 | .Ve |
| 463 | .Sp |
| 464 | .Vb 5 |
| 465 | \& Perl: The Programmer's Companion |
| 466 | \& by Nigel Chapman |
| 467 | \& ISBN 0-471-97563-X [1997, 3rd printing Spring 1998] |
| 468 | \& http://www.wiley.com/compbooks/catalog/97563-X.htm |
| 469 | \& http://www.wiley.com/compbooks/chapman/perl/perltpc.html (errata etc) |
| 470 | .Ve |
| 471 | .Sp |
| 472 | .Vb 4 |
| 473 | \& Cross-Platform Perl |
| 474 | \& by Eric Foster-Johnson |
| 475 | \& ISBN 1-55851-483-X [2nd edition September 2000] |
| 476 | \& http://www.pconline.com/~erc/perlbook.htm |
| 477 | .Ve |
| 478 | .Sp |
| 479 | .Vb 5 |
| 480 | \& MacPerl: Power and Ease |
| 481 | \& by Vicki Brown and Chris Nandor, |
| 482 | \& with foreword by Matthias Neeracher |
| 483 | \& ISBN 1-881957-32-2 [1st edition May 1998] |
| 484 | \& http://www.macperl.com/ptf_book/ |
| 485 | .Ve |
| 486 | .IP "Task-Oriented" 4 |
| 487 | .IX Item "Task-Oriented" |
| 488 | .Vb 5 |
| 489 | \& The Perl Cookbook |
| 490 | \& by Tom Christiansen and Nathan Torkington |
| 491 | \& with foreword by Larry Wall |
| 492 | \& ISBN 1-56592-243-3 [1st edition August 1998] |
| 493 | \& http://www.oreilly.com/catalog/cookbook/ |
| 494 | .Ve |
| 495 | .Sp |
| 496 | .Vb 4 |
| 497 | \& Effective Perl Programming |
| 498 | \& by Joseph Hall |
| 499 | \& ISBN 0-201-41975-0 [1st edition 1998] |
| 500 | \& http://www.awl.com/ |
| 501 | .Ve |
| 502 | .IP "Special Topics" 4 |
| 503 | .IX Item "Special Topics" |
| 504 | .Vb 4 |
| 505 | \& Mastering Regular Expressions |
| 506 | \& by Jeffrey E. F. Friedl |
| 507 | \& ISBN 1-56592-257-3 [1st edition January 1997] |
| 508 | \& http://www.oreilly.com/catalog/regex/ |
| 509 | .Ve |
| 510 | .Sp |
| 511 | .Vb 4 |
| 512 | \& Network Programming with Perl |
| 513 | \& by Lincoln Stein |
| 514 | \& ISBN 0-201-61571-1 [1st edition 2001] |
| 515 | \& http://www.awlonline.com/ |
| 516 | .Ve |
| 517 | .Sp |
| 518 | .Vb 5 |
| 519 | \& Object Oriented Perl |
| 520 | \& Damian Conway |
| 521 | \& with foreword by Randal L. Schwartz |
| 522 | \& ISBN 1-884777-79-1 [1st edition August 1999] |
| 523 | \& http://www.manning.com/Conway/ |
| 524 | .Ve |
| 525 | .Sp |
| 526 | .Vb 4 |
| 527 | \& Data Munging with Perl |
| 528 | \& Dave Cross |
| 529 | \& ISBN 1-930110-00-6 [1st edition 2001] |
| 530 | \& http://www.manning.com/cross |
| 531 | .Ve |
| 532 | .Sp |
| 533 | .Vb 4 |
| 534 | \& Mastering Perl/Tk |
| 535 | \& by Steve Lidie and Nancy Walsh |
| 536 | \& ISBN 1-56592-716-8 [1st edition January 2002] |
| 537 | \& http://www.oreilly.com/catalog/mastperltk/ |
| 538 | .Ve |
| 539 | .Sh "Perl in Magazines" |
| 540 | .IX Subsection "Perl in Magazines" |
| 541 | The first (and for a long time, only) periodical devoted to All Things Perl, |
| 542 | \&\fIThe Perl Journal\fR contains tutorials, demonstrations, case studies, |
| 543 | announcements, contests, and much more. \fI\s-1TPJ\s0\fR has columns on web |
| 544 | development, databases, Win32 Perl, graphical programming, regular |
| 545 | expressions, and networking, and sponsors the Obfuscated Perl Contest |
| 546 | and the Perl Poetry Contests. As of mid\-2001, the dead tree version |
| 547 | of \s-1TPJ\s0 will be published as a quarterly supplement of SysAdmin |
| 548 | magazine ( http://www.sysadminmag.com/ ) For more details on \s-1TPJ\s0, |
| 549 | see http://www.tpj.com/ |
| 550 | .PP |
| 551 | Beyond this, magazines that frequently carry quality articles on |
| 552 | Perl are \fIThe Perl Review\fR ( http://www.theperlreview.com ), |
| 553 | \&\fIUnix Review\fR ( http://www.unixreview.com/ ), |
| 554 | \&\fILinux Magazine\fR ( http://www.linuxmagazine.com/ ), |
| 555 | and Usenix's newsletter/magazine to its members, \fIlogin:\fR |
| 556 | ( http://www.usenix.org/ ) |
| 557 | .PP |
| 558 | The Perl columns of Randal L. Schwartz are available on the web at |
| 559 | http://www.stonehenge.com/merlyn/WebTechniques/ , |
| 560 | http://www.stonehenge.com/merlyn/UnixReview/ , and |
| 561 | http://www.stonehenge.com/merlyn/LinuxMag/ . |
| 562 | .Sh "Perl on the Net: \s-1FTP\s0 and \s-1WWW\s0 Access" |
| 563 | .IX Subsection "Perl on the Net: FTP and WWW Access" |
| 564 | To get the best performance, pick a site from |
| 565 | the list below and use it to grab the complete list of mirror sites |
| 566 | which is at /CPAN/MIRRORED.BY or at http://mirror.cpan.org/ . |
| 567 | From there you can find the quickest site for you. Remember, the |
| 568 | following list is \fInot\fR the complete list of \s-1CPAN\s0 mirrors |
| 569 | (the complete list contains 165 sites as of January 2001): |
| 570 | .PP |
| 571 | .Vb 9 |
| 572 | \& http://www.cpan.org/ |
| 573 | \& http://www.perl.com/CPAN/ |
| 574 | \& http://download.sourceforge.net/mirrors/CPAN/ |
| 575 | \& ftp://ftp.digital.com/pub/plan/perl/CPAN/ |
| 576 | \& ftp://ftp.flirble.org/pub/languages/perl/CPAN/ |
| 577 | \& ftp://ftp.uvsq.fr/pub/perl/CPAN/ |
| 578 | \& ftp://ftp.funet.fi/pub/languages/perl/CPAN/ |
| 579 | \& ftp://ftp.dti.ad.jp/pub/lang/CPAN/ |
| 580 | \& ftp://cpan.if.usp.br/pub/mirror/CPAN/ |
| 581 | .Ve |
| 582 | .PP |
| 583 | One may also use xx.cpan.org where \*(L"xx\*(R" is the 2\-letter country code |
| 584 | for your domain; e.g. Australia would use au.cpan.org. |
| 585 | [Note: This only applies to countries that host at least one mirror.] |
| 586 | .Sh "What mailing lists are there for Perl?" |
| 587 | .IX Subsection "What mailing lists are there for Perl?" |
| 588 | Most of the major modules (Tk, \s-1CGI\s0, libwww\-perl) have their own |
| 589 | mailing lists. Consult the documentation that came with the module for |
| 590 | subscription information. |
| 591 | .PP |
| 592 | A comprehensive list of Perl related mailing lists can be found at: |
| 593 | .PP |
| 594 | .Vb 1 |
| 595 | \& http://lists.cpan.org/ |
| 596 | .Ve |
| 597 | .PP |
| 598 | ( also visible as http://lists.perl.org/ ) |
| 599 | .Sh "Archives of comp.lang.perl.misc" |
| 600 | .IX Subsection "Archives of comp.lang.perl.misc" |
| 601 | The Google search engine now carries archived and searchable newsgroup |
| 602 | content. |
| 603 | .PP |
| 604 | http://groups.google.com/groups?group=comp.lang.perl.misc |
| 605 | .PP |
| 606 | If you have a question, you can be sure someone has already asked the |
| 607 | same question at some point on c.l.p.m. It requires some time and patience |
| 608 | to sift through all the content but often you will find the answer you |
| 609 | seek. |
| 610 | .Sh "Where can I buy a commercial version of Perl?" |
| 611 | .IX Subsection "Where can I buy a commercial version of Perl?" |
| 612 | In a real sense, Perl already \fIis\fR commercial software: it has a license |
| 613 | that you can grab and carefully read to your manager. It is distributed |
| 614 | in releases and comes in well-defined packages. There is a very large |
| 615 | user community and an extensive literature. The comp.lang.perl.* |
| 616 | newsgroups and several of the mailing lists provide free answers to your |
| 617 | questions in near real\-time. Perl has traditionally been supported by |
| 618 | Larry, scores of software designers and developers, and myriad |
| 619 | programmers, all working for free to create a useful thing to make life |
| 620 | better for everyone. |
| 621 | .PP |
| 622 | However, these answers may not suffice for managers who require a |
| 623 | purchase order from a company whom they can sue should anything go awry. |
| 624 | Or maybe they need very serious hand-holding and contractual obligations. |
| 625 | Shrink-wrapped CDs with Perl on them are available from several sources if |
| 626 | that will help. For example, many Perl books include a distribution of Perl, |
| 627 | as do the O'Reilly Perl Resource Kits (in both the Unix flavor |
| 628 | and in the proprietary Microsoft flavor); the free Unix distributions |
| 629 | also all come with Perl. |
| 630 | .PP |
| 631 | Alternatively, you can purchase commercial incidence based support |
| 632 | through the Perl Clinic. The following is a commercial from them: |
| 633 | .PP |
| 634 | "The Perl Clinic is a commercial Perl support service operated by |
| 635 | ActiveState Tool Corp. and The Ingram Group. The operators have many |
| 636 | years of in-depth experience with Perl applications and Perl internals |
| 637 | on a wide range of platforms. |
| 638 | .PP |
| 639 | \&\*(L"Through our group of highly experienced and well-trained support engineers, |
| 640 | we will put our best effort into understanding your problem, providing an |
| 641 | explanation of the situation, and a recommendation on how to proceed.\*(R" |
| 642 | .PP |
| 643 | Contact The Perl Clinic at |
| 644 | .PP |
| 645 | .Vb 1 |
| 646 | \& www.PerlClinic.com |
| 647 | .Ve |
| 648 | .PP |
| 649 | .Vb 3 |
| 650 | \& North America Pacific Standard Time (GMT-8) |
| 651 | \& Tel: 1 604 606-4611 hours 8am-6pm |
| 652 | \& Fax: 1 604 606-4640 |
| 653 | .Ve |
| 654 | .PP |
| 655 | .Vb 3 |
| 656 | \& Europe (GMT) |
| 657 | \& Tel: 00 44 1483 862814 |
| 658 | \& Fax: 00 44 1483 862801 |
| 659 | .Ve |
| 660 | .PP |
| 661 | See also www.perl.com for updates on tutorials, training, and support. |
| 662 | .Sh "Where do I send bug reports?" |
| 663 | .IX Subsection "Where do I send bug reports?" |
| 664 | If you are reporting a bug in the perl interpreter or the modules |
| 665 | shipped with Perl, use the \fIperlbug\fR program in the Perl distribution or |
| 666 | mail your report to perlbug@perl.org . |
| 667 | .PP |
| 668 | If you are posting a bug with a non-standard port (see the answer to |
| 669 | \&\*(L"What platforms is Perl available for?\*(R"), a binary distribution, or a |
| 670 | non-standard module (such as Tk, \s-1CGI\s0, etc), then please see the |
| 671 | documentation that came with it to determine the correct place to post |
| 672 | bugs. |
| 673 | .PP |
| 674 | Read the \fIperlbug\fR\|(1) man page (perl5.004 or later) for more information. |
| 675 | .Sh "What is perl.com? Perl Mongers? pm.org? perl.org? cpan.org?" |
| 676 | .IX Subsection "What is perl.com? Perl Mongers? pm.org? perl.org? cpan.org?" |
| 677 | The Perl Home Page at http://www.perl.com/ is currently hosted by |
| 678 | The O'Reilly Network, a subsidiary of O'Reilly and Associates. |
| 679 | .PP |
| 680 | Perl Mongers is an advocacy organization for the Perl language which |
| 681 | maintains the web site http://www.perl.org/ as a general advocacy |
| 682 | site for the Perl language. |
| 683 | .PP |
| 684 | Perl Mongers uses the pm.org domain for services related to Perl user |
| 685 | groups, including the hosting of mailing lists and web sites. See the |
| 686 | Perl user group web site at http://www.pm.org/ for more information about |
| 687 | joining, starting, or requesting services for a Perl user group. |
| 688 | .PP |
| 689 | Perl Mongers also maintain the perl.org domain to provide general |
| 690 | support services to the Perl community, including the hosting of mailing |
| 691 | lists, web sites, and other services. The web site |
| 692 | http://www.perl.org/ is a general advocacy site for the Perl language, |
| 693 | and there are many other sub-domains for special topics, such as |
| 694 | .PP |
| 695 | .Vb 4 |
| 696 | \& http://bugs.perl.org/ |
| 697 | \& http://history.perl.org/ |
| 698 | \& http://lists.perl.org/ |
| 699 | \& http://use.perl.org/ |
| 700 | .Ve |
| 701 | .PP |
| 702 | http://www.cpan.org/ is the Comprehensive Perl Archive Network, |
| 703 | a replicated worlwide repository of Perl software, see |
| 704 | the \fIWhat is \s-1CPAN\s0?\fR question earlier in this document. |
| 705 | .SH "AUTHOR AND COPYRIGHT" |
| 706 | .IX Header "AUTHOR AND COPYRIGHT" |
| 707 | Copyright (c) 1997\-2001 Tom Christiansen and Nathan Torkington. |
| 708 | All rights reserved. |
| 709 | .PP |
| 710 | This documentation is free; you can redistribute it and/or modify it |
| 711 | under the same terms as Perl itself. |
| 712 | .PP |
| 713 | Irrespective of its distribution, all code examples here are in the public |
| 714 | domain. You are permitted and encouraged to use this code and any |
| 715 | derivatives thereof in your own programs for fun or for profit as you |
| 716 | see fit. A simple comment in the code giving credit to the \s-1FAQ\s0 would |
| 717 | be courteous but is not required. |