Commit | Line | Data |
---|---|---|
68dc0745 | 1 | =head1 NAME |
2 | ||
109f0441 | 3 | perlfaq2 - Obtaining and Learning about Perl |
68dc0745 | 4 | |
5 | =head1 DESCRIPTION | |
6 | ||
7 | This section of the FAQ answers questions about where to find | |
92c2ed05 | 8 | source and documentation for Perl, support, and |
68dc0745 | 9 | related matters. |
10 | ||
b68463f7 | 11 | =head2 What machines support perl? Where do I get it? |
68dc0745 | 12 | |
b68463f7 | 13 | The standard release of perl (the one maintained by the perl |
5e3006a4 | 14 | development team) is distributed only in source code form. You |
109f0441 | 15 | can find the latest releases at http://www.cpan.org/src/README.html . |
5e3006a4 GS |
16 | |
17 | Perl builds and runs on a bewildering number of platforms. Virtually | |
b68463f7 | 18 | all known and current Unix derivatives are supported (perl's native |
87275199 | 19 | platform), as are other systems like VMS, DOS, OS/2, Windows, |
c355f4f4 | 20 | QNX, BeOS, OS X, MPE/iX and the Amiga. |
5e3006a4 | 21 | |
109f0441 S |
22 | Binary distributions for some proprietary platforms can be found |
23 | http://www.cpan.org/ports/ directory. Because these are not part of | |
24 | the standard distribution, they may and in fact do differ from the | |
25 | base perl port in a variety of ways. You'll have to check their | |
26 | respective release notes to see just what the differences are. These | |
27 | differences can be either positive (e.g. extensions for the features | |
28 | of the particular platform that are not supported in the source | |
29 | release of perl) or negative (e.g. might be based upon a less current | |
30 | source release of perl). | |
92c2ed05 | 31 | |
b68463f7 | 32 | =head2 How can I get a binary version of perl? |
68dc0745 | 33 | |
109f0441 S |
34 | (contributed by brian d foy) |
35 | ||
36 | ActiveState: Windows, Linux, Mac OS X, Solaris, AIX and HP-UX | |
322be77c RGS |
37 | |
38 | http://www.activestate.com/ | |
39 | ||
109f0441 | 40 | Sunfreeware.com: Solaris 2.5 to Solaris 10 (SPARC and x86) |
322be77c RGS |
41 | |
42 | http://www.sunfreeware.com/ | |
43 | ||
109f0441 | 44 | Strawberry Perl: Windows, Perl 5.8.8 and 5.10.0 |
65acb1b1 | 45 | |
109f0441 S |
46 | http://www.strawberryperl.com |
47 | ||
48 | IndigoPerl: Windows | |
65acb1b1 | 49 | |
109f0441 | 50 | http://indigostar.com/ |
3fe9a6f1 | 51 | |
b68463f7 | 52 | =head2 I don't have a C compiler. How can I build my own Perl interpreter? |
3fe9a6f1 | 53 | |
54 | Since you don't have a C compiler, you're doomed and your vendor | |
55 | should be sacrificed to the Sun gods. But that doesn't help you. | |
56 | ||
3bc3c5be | 57 | What you need to do is get a binary version of C<gcc> for your system |
3fe9a6f1 | 58 | first. Consult the Usenet FAQs for your operating system for |
59 | information on where to get such a binary version. | |
60 | ||
109f0441 | 61 | You might look around the net for a pre-built binary of Perl (or a |
ee891a00 RGS |
62 | C compiler!) that meets your needs, though: |
63 | ||
c195e131 | 64 | For Windows, Vanilla Perl ( http://vanillaperl.com/ ) and Strawberry Perl |
109f0441 | 65 | ( http://strawberryperl.com/ ) come with a |
ee891a00 RGS |
66 | bundled C compiler. ActivePerl is a pre-compiled version of Perl |
67 | ready-to-use. | |
68 | ||
109f0441 | 69 | For Sun systems, SunFreeware.com provides binaries of most popular |
ee891a00 RGS |
70 | applications, including compilers and Perl. |
71 | ||
b68463f7 | 72 | =head2 I copied the perl binary from one machine to another, but scripts don't work. |
68dc0745 | 73 | |
74 | That's probably because you forgot libraries, or library paths differ. | |
75 | You really should build the whole distribution on the machine it will | |
76 | eventually live on, and then type C<make install>. Most other | |
77 | approaches are doomed to failure. | |
78 | ||
79 | One simple way to check that things are in the right place is to print out | |
3bc3c5be | 80 | the hard-coded C<@INC> that perl looks through for libraries: |
68dc0745 | 81 | |
f0d19b68 | 82 | % perl -le 'print for @INC' |
68dc0745 | 83 | |
a6dd486b | 84 | If this command lists any paths that don't exist on your system, then you |
68dc0745 | 85 | may need to move the appropriate libraries to these locations, or create |
3bc3c5be | 86 | symbolic links, aliases, or shortcuts appropriately. C<@INC> is also printed as |
65acb1b1 TC |
87 | part of the output of |
88 | ||
89 | % perl -V | |
68dc0745 | 90 | |
c355f4f4 | 91 | You might also want to check out |
13a2d996 | 92 | L<perlfaq8/"How do I keep my own module/library directory?">. |
3fe9a6f1 | 93 | |
68dc0745 | 94 | =head2 I grabbed the sources and tried to compile but gdbm/dynamic loading/malloc/linking/... failed. How do I make it work? |
95 | ||
96 | Read the F<INSTALL> file, which is part of the source distribution. | |
65acb1b1 | 97 | It describes in detail how to cope with most idiosyncrasies that the |
3bc3c5be | 98 | C<Configure> script can't work around for any given system or |
68dc0745 | 99 | architecture. |
100 | ||
101 | =head2 What modules and extensions are available for Perl? What is CPAN? What does CPAN/src/... mean? | |
102 | ||
e573f903 RGS |
103 | CPAN stands for Comprehensive Perl Archive Network, a multi-gigabyte |
104 | archive replicated on hundreds of machines all over the world. CPAN | |
105 | contains source code, non-native ports, documentation, scripts, and | |
106 | many third-party modules and extensions, designed for everything from | |
68dc0745 | 107 | commercial database interfaces to keyboard/screen control to web |
e573f903 | 108 | walking and CGI scripts. The master web site for CPAN is |
c355f4f4 | 109 | http://www.cpan.org/ and there is the CPAN Multiplexer at |
e573f903 RGS |
110 | http://www.cpan.org/CPAN.html which will choose a mirror near you via |
111 | DNS. See http://www.perl.com/CPAN (without a slash at the end) for | |
112 | how this process works. Also, http://mirror.cpan.org/ has a nice | |
113 | interface to the http://www.cpan.org/MIRRORED.BY mirror directory. | |
c355f4f4 | 114 | |
e573f903 RGS |
115 | See the CPAN FAQ at http://www.cpan.org/misc/cpan-faq.html for answers |
116 | to the most frequently asked questions about CPAN including how to | |
117 | become a mirror. | |
68dc0745 | 118 | |
3bc3c5be | 119 | C<CPAN/path/...> is a naming convention for files available on CPAN |
68dc0745 | 120 | sites. CPAN indicates the base directory of a CPAN mirror, and the |
e573f903 | 121 | rest of the path is the path from that directory to the file. For |
68dc0745 | 122 | instance, if you're using ftp://ftp.funet.fi/pub/languages/perl/CPAN |
3bc3c5be | 123 | as your CPAN site, the file C<CPAN/misc/japh> is downloadable as |
68dc0745 | 124 | ftp://ftp.funet.fi/pub/languages/perl/CPAN/misc/japh . |
125 | ||
e573f903 RGS |
126 | Considering that, as of 2006, there are over ten thousand existing |
127 | modules in the archive, one probably exists to do nearly anything you | |
3bc3c5be | 128 | can think of. Current categories under C<CPAN/modules/by-category/> |
e573f903 RGS |
129 | include Perl core modules; development support; operating system |
130 | interfaces; networking, devices, and interprocess communication; data | |
131 | type utilities; database interfaces; user interfaces; interfaces to | |
132 | other languages; filenames, file systems, and file locking; | |
133 | internationalization and locale; world wide web support; server and | |
134 | daemon utilities; archiving and compression; image manipulation; mail | |
135 | and news; control flow utilities; filehandle and I/O; Microsoft | |
136 | Windows modules; and miscellaneous modules. | |
68dc0745 | 137 | |
c355f4f4 | 138 | See http://www.cpan.org/modules/00modlist.long.html or |
e573f903 RGS |
139 | http://search.cpan.org/ for a more complete list of modules by |
140 | category. | |
c355f4f4 | 141 | |
e573f903 | 142 | CPAN is a free service and is not affiliated with O'Reilly Media. |
c355f4f4 | 143 | |
68dc0745 | 144 | =head2 Is there an ISO or ANSI certified version of Perl? |
145 | ||
146 | Certainly not. Larry expects that he'll be certified before Perl is. | |
147 | ||
148 | =head2 Where can I get information on Perl? | |
149 | ||
87275199 GS |
150 | The complete Perl documentation is available with the Perl distribution. |
151 | If you have Perl installed locally, you probably have the documentation | |
5a964f20 TC |
152 | installed as well: type C<man perl> if you're on a system resembling Unix. |
153 | This will lead you to other important man pages, including how to set your | |
3bc3c5be | 154 | C<$MANPATH>. If you're not on a Unix system, access to the documentation |
a6dd486b | 155 | will be different; for example, documentation might only be in HTML format. All |
b68463f7 | 156 | proper perl installations have fully-accessible documentation. |
68dc0745 | 157 | |
158 | You might also try C<perldoc perl> in case your system doesn't | |
3bc3c5be | 159 | have a proper C<man> command, or it's been misinstalled. If that doesn't |
160 | work, try looking in C</usr/local/lib/perl5/pod> for documentation. | |
68dc0745 | 161 | |
9e72e4c6 RGS |
162 | If all else fails, consult http://perldoc.perl.org/ which has the |
163 | complete documentation in HTML and PDF format. | |
68dc0745 | 164 | |
ac9dac7f RGS |
165 | Many good books have been written about Perl--see the section later in |
166 | L<perlfaq2> for more details. | |
68dc0745 | 167 | |
65acb1b1 | 168 | Tutorial documents are included in current or upcoming Perl releases |
a6dd486b JB |
169 | include L<perltoot> for objects or L<perlboot> for a beginner's |
170 | approach to objects, L<perlopentut> for file opening semantics, | |
171 | L<perlreftut> for managing references, L<perlretut> for regular | |
172 | expressions, L<perlthrtut> for threads, L<perldebtut> for debugging, | |
173 | and L<perlxstut> for linking C and Perl together. There may be more | |
9e72e4c6 | 174 | by the time you read this. These URLs might also be useful: |
65acb1b1 | 175 | |
9e72e4c6 | 176 | http://perldoc.perl.org/ |
c355f4f4 | 177 | http://bookmarks.cpan.org/search.cgi?cat=Training%2FTutorials |
65acb1b1 | 178 | |
87275199 | 179 | =head2 What are the Perl newsgroups on Usenet? Where do I post questions? |
68dc0745 | 180 | |
04d666b1 | 181 | Several groups devoted to the Perl language are on Usenet: |
68dc0745 | 182 | |
109f0441 S |
183 | comp.lang.perl.announce Moderated announcement group |
184 | comp.lang.perl.misc High traffic general Perl discussion | |
185 | comp.lang.perl.moderated Moderated discussion group | |
186 | comp.lang.perl.modules Use and development of Perl modules | |
187 | comp.lang.perl.tk Using Tk (and X) from Perl | |
68dc0745 | 188 | |
04d666b1 RGS |
189 | Some years ago, comp.lang.perl was divided into those groups, and |
190 | comp.lang.perl itself officially removed. While that group may still | |
191 | be found on some news servers, it is unwise to use it, because | |
192 | postings there will not appear on news servers which honour the | |
193 | official list of group names. Use comp.lang.perl.misc for topics | |
194 | which do not have a more-appropriate specific group. | |
83a70550 | 195 | |
04d666b1 RGS |
196 | There is also a Usenet gateway to Perl mailing lists sponsored by |
197 | perl.org at nntp://nntp.perl.org , a web interface to the same lists | |
198 | at http://nntp.perl.org/group/ and these lists are also available | |
199 | under the C<perl.*> hierarchy at http://groups.google.com . Other | |
200 | groups are listed at http://lists.perl.org/ ( also known as | |
201 | http://lists.cpan.org/ ). | |
202 | ||
6670e5e7 | 203 | A nice place to ask questions is the PerlMonks site, |
04d666b1 RGS |
204 | http://www.perlmonks.org/ , or the Perl Beginners mailing list |
205 | http://lists.perl.org/showlist.cgi?name=beginners . | |
83a70550 JH |
206 | |
207 | Note that none of the above are supposed to write your code for you: | |
208 | asking questions about particular problems or general advice is fine, | |
209 | but asking someone to write your code for free is not very cool. | |
68dc0745 | 210 | |
211 | =head2 Where should I post source code? | |
212 | ||
65acb1b1 TC |
213 | You should post source code to whichever group is most appropriate, but |
214 | feel free to cross-post to comp.lang.perl.misc. If you want to cross-post | |
215 | to alt.sources, please make sure it follows their posting standards, | |
216 | including setting the Followup-To header line to NOT include alt.sources; | |
f224927c | 217 | see their FAQ ( http://www.faqs.org/faqs/alt-sources-intro/ ) for details. |
68dc0745 | 218 | |
c355f4f4 | 219 | If you're just looking for software, first use Google |
23bec515 | 220 | ( http://www.google.com ), Google's Usenet search interface |
197aec24 | 221 | ( http://groups.google.com ), and CPAN Search ( http://search.cpan.org ). |
0bc0ad85 | 222 | This is faster and more productive than just posting a request. |
5a964f20 | 223 | |
68dc0745 | 224 | =head2 Perl Books |
225 | ||
c98c5709 | 226 | A number of books on Perl and/or CGI programming are available. A few |
6670e5e7 | 227 | of these are good, some are OK, but many aren't worth your money. |
c98c5709 | 228 | There is a list of these books, some with extensive reviews, at |
9e72e4c6 RGS |
229 | http://books.perl.org/ . If you don't see your book listed here, you |
230 | can write to perlfaq-workers@perl.org . | |
68dc0745 | 231 | |
5e3006a4 | 232 | The incontestably definitive reference book on Perl, written by |
9e72e4c6 | 233 | the creator of Perl, is Programming Perl: |
68dc0745 | 234 | |
c98c5709 | 235 | Programming Perl (the "Camel Book"): |
c2e66d9e | 236 | by Larry Wall, Tom Christiansen, and Jon Orwant |
c98c5709 | 237 | ISBN 0-596-00027-8 [3rd edition July 2000] |
c2e66d9e | 238 | http://www.oreilly.com/catalog/pperl3/ |
c98c5709 | 239 | (English, translations to several languages are also available) |
68dc0745 | 240 | |
5e3006a4 | 241 | The companion volume to the Camel containing thousands |
c355f4f4 | 242 | of real-world examples, mini-tutorials, and complete programs is: |
5e3006a4 | 243 | |
c98c5709 | 244 | The Perl Cookbook (the "Ram Book"): |
c355f4f4 | 245 | by Tom Christiansen and Nathan Torkington, |
c2e66d9e | 246 | with Foreword by Larry Wall |
c98c5709 RGS |
247 | ISBN 0-596-00313-7 [2nd Edition August 2003] |
248 | http://www.oreilly.com/catalog/perlckbk2/ | |
68dc0745 | 249 | |
8fc9651a | 250 | If you're already a seasoned programmer, then the Camel Book might |
9e72e4c6 | 251 | suffice for you to learn Perl. If you're not, check out the |
8fc9651a | 252 | Llama book: |
5e3006a4 | 253 | |
9e72e4c6 RGS |
254 | Learning Perl |
255 | by Randal L. Schwartz, Tom Phoenix, and brian d foy | |
256 | ISBN 0-596-10105-8 [4th edition July 2005] | |
257 | http://www.oreilly.com/catalog/learnperl4/ | |
8fc9651a | 258 | |
16073f15 RS |
259 | And for more advanced information on writing larger programs, |
260 | presented in the same style as the Llama book, continue your education | |
261 | with the Alpaca book: | |
262 | ||
ac9dac7f RGS |
263 | Intermediate Perl (the "Alpaca Book") |
264 | by Randal L. Schwartz and brian d foy, with Tom Phoenix (foreword by Damian Conway) | |
265 | ISBN 0-596-10206-2 [1st edition March 2006] | |
c98c5709 | 266 | http://www.oreilly.com/catalog/lrnperlorm/ |
16073f15 | 267 | |
f224927c JH |
268 | Addison-Wesley ( http://www.awlonline.com/ ) and Manning |
269 | ( http://www.manning.com/ ) are also publishers of some fine Perl books | |
8fc9651a JH |
270 | such as I<Object Oriented Programming with Perl> by Damian Conway and |
271 | I<Network Programming with Perl> by Lincoln Stein. | |
c355f4f4 JH |
272 | |
273 | An excellent technical book discounter is Bookpool at | |
274 | http://www.bookpool.com/ where a 30% discount or more is not unusual. | |
5a964f20 | 275 | |
68dc0745 | 276 | What follows is a list of the books that the FAQ authors found personally |
277 | useful. Your mileage may (but, we hope, probably won't) vary. | |
278 | ||
c2e66d9e | 279 | Recommended books on (or mostly on) Perl follow. |
68dc0745 | 280 | |
13a2d996 | 281 | =over 4 |
68dc0745 | 282 | |
5a964f20 | 283 | =item References |
68dc0745 | 284 | |
c98c5709 | 285 | Programming Perl |
c2e66d9e GS |
286 | by Larry Wall, Tom Christiansen, and Jon Orwant |
287 | ISBN 0-596-00027-8 [3rd edition July 2000] | |
288 | http://www.oreilly.com/catalog/pperl3/ | |
68dc0745 | 289 | |
c98c5709 RGS |
290 | Perl 5 Pocket Reference |
291 | by Johan Vromans | |
109f0441 S |
292 | ISBN 0-596-00374-9 [4th edition July 2002] |
293 | http://www.oreilly.com/catalog/perlpr4/ | |
87275199 | 294 | |
5a964f20 | 295 | =item Tutorials |
c47ff5f1 | 296 | |
7678cced RGS |
297 | Beginning Perl |
298 | by James Lee | |
299 | ISBN 1-59059-391-X [2nd edition August 2004] | |
300 | http://apress.com/book/bookDisplay.html?bID=344 | |
301 | ||
c98c5709 | 302 | Elements of Programming with Perl |
c2e66d9e | 303 | by Andrew L. Johnson |
ed8cf1fe | 304 | ISBN 1-884777-80-5 [1st edition October 1999] |
ac9dac7f | 305 | http://www.manning.com/johnson/ |
c2e66d9e | 306 | |
c98c5709 | 307 | Learning Perl |
9e72e4c6 | 308 | by Randal L. Schwartz, Tom Phoenix, and brian d foy |
109f0441 S |
309 | ISBN 0-596-52010-7 [5th edition June 2008] |
310 | http://oreilly.com/catalog/9780596520106/ | |
68dc0745 | 311 | |
ac9dac7f RGS |
312 | Intermediate Perl (the "Alpaca Book") |
313 | by Randal L. Schwartz and brian d foy, with Tom Phoenix (foreword by Damian Conway) | |
314 | ISBN 0-596-10206-2 [1st edition March 2006] | |
c195e131 RGS |
315 | http://www.oreilly.com/catalog/intermediateperl/ |
316 | ||
317 | Mastering Perl | |
318 | by brian d foy | |
319 | ISBN 0-596-52724-1 [1st edition July 2007] | |
320 | http://www.oreilly.com/catalog/9780596527242/ | |
16073f15 | 321 | |
c355f4f4 | 322 | =item Task-Oriented |
5a964f20 | 323 | |
7678cced RGS |
324 | Writing Perl Modules for CPAN |
325 | by Sam Tregar | |
3bc3c5be | 326 | ISBN 1-59059-018-X [1st edition August 2002] |
7678cced RGS |
327 | http://apress.com/book/bookDisplay.html?bID=14 |
328 | ||
c98c5709 | 329 | The Perl Cookbook |
5a964f20 TC |
330 | by Tom Christiansen and Nathan Torkington |
331 | with foreword by Larry Wall | |
c2e66d9e GS |
332 | ISBN 1-56592-243-3 [1st edition August 1998] |
333 | http://www.oreilly.com/catalog/cookbook/ | |
5a964f20 | 334 | |
c98c5709 | 335 | Effective Perl Programming |
5a964f20 | 336 | by Joseph Hall |
c2e66d9e GS |
337 | ISBN 0-201-41975-0 [1st edition 1998] |
338 | http://www.awl.com/ | |
68dc0745 | 339 | |
7678cced RGS |
340 | Real World SQL Server Administration with Perl |
341 | by Linchi Shea | |
342 | ISBN 1-59059-097-X [1st edition July 2003] | |
343 | http://apress.com/book/bookDisplay.html?bID=171 | |
344 | ||
5a964f20 TC |
345 | =item Special Topics |
346 | ||
58103a2e RGS |
347 | Perl Best Practices |
348 | by Damian Conway | |
349 | ISBN: 0-596-00173-8 [1st edition July 2005] | |
350 | http://www.oreilly.com/catalog/perlbp/ | |
351 | ||
352 | Higher Order Perl | |
353 | by Mark-Jason Dominus | |
354 | ISBN: 1558607013 [1st edition March 2005] | |
355 | http://hop.perl.plover.com/ | |
356 | ||
7678cced RGS |
357 | Perl 6 Now: The Core Ideas Illustrated with Perl 5 |
358 | by Scott Walters | |
58103a2e | 359 | ISBN 1-59059-395-2 [1st edition December 2004] |
7678cced | 360 | http://apress.com/book/bookDisplay.html?bID=355 |
6670e5e7 | 361 | |
c98c5709 | 362 | Mastering Regular Expressions |
c2e66d9e | 363 | by Jeffrey E. F. Friedl |
02d51d12 MJD |
364 | ISBN 0-596-00289-0 [2nd edition July 2002] |
365 | http://www.oreilly.com/catalog/regex2/ | |
5a964f20 | 366 | |
7678cced | 367 | Network Programming with Perl |
5a964f20 | 368 | by Lincoln Stein |
c355f4f4 JH |
369 | ISBN 0-201-61571-1 [1st edition 2001] |
370 | http://www.awlonline.com/ | |
5a964f20 | 371 | |
7678cced | 372 | Object Oriented Perl |
3bc3c5be | 373 | by Damian Conway |
c2e66d9e | 374 | with foreword by Randal L. Schwartz |
ed8cf1fe | 375 | ISBN 1-884777-79-1 [1st edition August 1999] |
ac9dac7f | 376 | http://www.manning.com/conway/ |
c2e66d9e | 377 | |
7678cced | 378 | Data Munging with Perl |
3bc3c5be | 379 | by Dave Cross |
ed8cf1fe JH |
380 | ISBN 1-930110-00-6 [1st edition 2001] |
381 | http://www.manning.com/cross | |
c355f4f4 | 382 | |
7678cced | 383 | Mastering Perl/Tk |
ed8cf1fe JH |
384 | by Steve Lidie and Nancy Walsh |
385 | ISBN 1-56592-716-8 [1st edition January 2002] | |
386 | http://www.oreilly.com/catalog/mastperltk/ | |
87275199 | 387 | |
c98c5709 RGS |
388 | Extending and Embedding Perl |
389 | by Tim Jenness and Simon Cozens | |
390 | ISBN 1-930110-82-0 [1st edition August 2002] | |
391 | http://www.manning.com/jenness | |
c74d0ee8 | 392 | |
c98c5709 RGS |
393 | Perl Debugger Pocket Reference |
394 | by Richard Foley | |
395 | ISBN 0-596-00503-2 [1st edition January 2004] | |
6670e5e7 | 396 | http://www.oreilly.com/catalog/perldebugpr/ |
024e7d0c | 397 | |
c195e131 RGS |
398 | Pro Perl Debugging |
399 | by Richard Foley with Andy Lester | |
400 | ISBN 1-59059-454-1 [1st edition July 2005] | |
401 | http://www.apress.com/book/view/1590594541 | |
487af187 | 402 | |
5a964f20 TC |
403 | =back |
404 | ||
fcd1fd07 | 405 | =head2 Which magazines have Perl content? |
5a964f20 | 406 | |
ac9dac7f RGS |
407 | I<The Perl Review> ( http://www.theperlreview.com ) focuses on Perl |
408 | almost completely (although it sometimes sneaks in an article about | |
ac003c96 RGS |
409 | another language). There's also I<$foo Magazin>, a german magazine |
410 | dedicated to Perl, at ( http://www.foo-magazin.de ). | |
ac9dac7f | 411 | |
3bc3c5be | 412 | The I<Perl-Zeitung> is a German-speaking magazine for Perl beginners |
413 | (see http://perl-zeitung.at.tf ). | |
414 | ||
ac9dac7f RGS |
415 | Magazines that frequently carry quality articles on Perl include I<The |
416 | Perl Review> ( http://www.theperlreview.com ), I<Unix Review> ( | |
417 | http://www.unixreview.com/ ), I<Linux Magazine> ( | |
418 | http://www.linuxmagazine.com/ ), and Usenix's newsletter/magazine to | |
3bc3c5be | 419 | its members, I<login:> ( http://www.usenix.org/ ). |
41eb6b36 | 420 | |
ae6d88cb | 421 | The Perl columns of Randal L. Schwartz are available on the web at |
41eb6b36 JH |
422 | http://www.stonehenge.com/merlyn/WebTechniques/ , |
423 | http://www.stonehenge.com/merlyn/UnixReview/ , and | |
424 | http://www.stonehenge.com/merlyn/LinuxMag/ . | |
68dc0745 | 425 | |
ac9dac7f RGS |
426 | The first (and for a long time, only) periodical devoted to All Things |
427 | Perl, I<The Perl Journal> contains tutorials, demonstrations, case | |
428 | studies, announcements, contests, and much more. I<TPJ> has columns | |
429 | on web development, databases, Win32 Perl, graphical programming, | |
430 | regular expressions, and networking, and sponsors the Obfuscated Perl | |
3bc3c5be | 431 | Contest and the Perl Poetry Contests. Beginning in November 2002, I<TPJ> |
ac9dac7f | 432 | moved to a reader-supported monthly e-zine format in which subscribers |
3bc3c5be | 433 | can download issues as PDF documents. In 2006, I<TPJ> merged with Dr. |
434 | Dobbs Journal (online edition). To read old I<TPJ> articles, see | |
ac9dac7f RGS |
435 | http://www.ddj.com/ . |
436 | ||
87275199 | 437 | =head2 What mailing lists are there for Perl? |
68dc0745 | 438 | |
3bc3c5be | 439 | Most of the major modules (C<Tk>, C<CGI>, C<libwww-perl>) have their own |
68dc0745 | 440 | mailing lists. Consult the documentation that came with the module for |
c355f4f4 | 441 | subscription information. |
68dc0745 | 442 | |
ccbb3b41 IT |
443 | A comprehensive list of Perl related mailing lists can be found at: |
444 | ||
49d635f9 | 445 | http://lists.perl.org/ |
83a70550 | 446 | |
fcd1fd07 | 447 | =head2 Where are the archives for comp.lang.perl.misc? |
68dc0745 | 448 | |
b0bd3af0 | 449 | The Google search engine now carries archived and searchable newsgroup |
197aec24 | 450 | content. |
68dc0745 | 451 | |
109f0441 | 452 | http://groups.google.com/group/comp.lang.perl.misc/topics |
68dc0745 | 453 | |
b0bd3af0 EHA |
454 | If you have a question, you can be sure someone has already asked the |
455 | same question at some point on c.l.p.m. It requires some time and patience | |
456 | to sift through all the content but often you will find the answer you | |
457 | seek. | |
68dc0745 | 458 | |
b68463f7 | 459 | =head2 Where can I buy a commercial version of perl? |
68dc0745 | 460 | |
b68463f7 | 461 | In a real sense, perl already I<is> commercial software: it has a license |
65acb1b1 TC |
462 | that you can grab and carefully read to your manager. It is distributed |
463 | in releases and comes in well-defined packages. There is a very large | |
464 | user community and an extensive literature. The comp.lang.perl.* | |
465 | newsgroups and several of the mailing lists provide free answers to your | |
466 | questions in near real-time. Perl has traditionally been supported by | |
8305e449 | 467 | Larry, scores of software designers and developers, and myriad |
65acb1b1 TC |
468 | programmers, all working for free to create a useful thing to make life |
469 | better for everyone. | |
68dc0745 | 470 | |
471 | However, these answers may not suffice for managers who require a | |
65acb1b1 TC |
472 | purchase order from a company whom they can sue should anything go awry. |
473 | Or maybe they need very serious hand-holding and contractual obligations. | |
b68463f7 RGS |
474 | Shrink-wrapped CDs with perl on them are available from several sources if |
475 | that will help. For example, many Perl books include a distribution of perl, | |
a6dd486b | 476 | as do the O'Reilly Perl Resource Kits (in both the Unix flavor |
65acb1b1 | 477 | and in the proprietary Microsoft flavor); the free Unix distributions |
b68463f7 | 478 | also all come with perl. |
68dc0745 | 479 | |
68dc0745 | 480 | =head2 Where do I send bug reports? |
481 | ||
109f0441 S |
482 | (contributed by brian d foy) |
483 | ||
484 | First, ensure that you've found an actual bug. Second, ensure you've | |
485 | found an actual bug. | |
486 | ||
487 | If you've found a bug with the perl interpreter or one of the modules | |
488 | in the standard library (those that come with Perl), you can use the | |
489 | C<perlbug> utility that comes with Perl (>= 5.004). It collects | |
490 | information about your installation to include with your message, then | |
491 | sends the message to the right place. | |
b68463f7 | 492 | |
109f0441 S |
493 | To determine if a module came with your version of Perl, you can |
494 | use the C<Module::CoreList> module. It has the information about | |
495 | the modules (with their versions) included with each release of Perl. | |
68dc0745 | 496 | |
3bc3c5be | 497 | If C<Module::CoreList> is not installed on your system, check out |
498 | http://perlpunks.de/corelist . | |
499 | ||
109f0441 S |
500 | Every CPAN module has a bug tracker set up in RT, http://rt.cpan.org . |
501 | You can submit bugs to RT either through its web interface or by | |
502 | email. To email a bug report, send it to | |
503 | bug-E<lt>distribution-nameE<gt>@rt.cpan.org . For example, if you | |
504 | wanted to report a bug in C<Business::ISBN>, you could send a message to | |
505 | bug-Business-ISBN@rt.cpan.org . | |
68dc0745 | 506 | |
109f0441 S |
507 | Some modules might have special reporting requirements, such as a |
508 | Sourceforge or Google Code tracking system, so you should check the | |
509 | module documentation too. | |
68dc0745 | 510 | |
06a5f41f | 511 | =head2 What is perl.com? Perl Mongers? pm.org? perl.org? cpan.org? |
68dc0745 | 512 | |
c98c5709 RGS |
513 | Perl.com at http://www.perl.com/ is part of the O'Reilly Network, a |
514 | subsidiary of O'Reilly Media. | |
68dc0745 | 515 | |
c98c5709 RGS |
516 | The Perl Foundation is an advocacy organization for the Perl language |
517 | which maintains the web site http://www.perl.org/ as a general | |
518 | advocacy site for the Perl language. It uses the domain to provide | |
519 | general support services to the Perl community, including the hosting | |
c195e131 RGS |
520 | of mailing lists, web sites, and other services. There are also many |
521 | other sub-domains for special topics like learning Perl, Perl news, jobs | |
522 | in Perl, such as: | |
c98c5709 RGS |
523 | |
524 | http://learn.perl.org/ | |
525 | http://use.perl.org/ | |
526 | http://jobs.perl.org/ | |
527 | http://lists.perl.org/ | |
90bb42f6 GS |
528 | |
529 | Perl Mongers uses the pm.org domain for services related to Perl user | |
74078192 DA |
530 | groups, including the hosting of mailing lists and web sites. See the |
531 | Perl user group web site at http://www.pm.org/ for more information about | |
532 | joining, starting, or requesting services for a Perl user group. | |
90bb42f6 | 533 | |
06a5f41f | 534 | http://www.cpan.org/ is the Comprehensive Perl Archive Network, |
d7f8936a | 535 | a replicated worldwide repository of Perl software, see |
06a5f41f JH |
536 | the I<What is CPAN?> question earlier in this document. |
537 | ||
68dc0745 | 538 | =head1 AUTHOR AND COPYRIGHT |
539 | ||
8d2e243f | 540 | Copyright (c) 1997-2010 Tom Christiansen, Nathan Torkington, and |
7678cced | 541 | other authors as noted. All rights reserved. |
5a964f20 | 542 | |
5a7beb56 JH |
543 | This documentation is free; you can redistribute it and/or modify it |
544 | under the same terms as Perl itself. | |
c8db1d39 | 545 | |
87275199 | 546 | Irrespective of its distribution, all code examples here are in the public |
c8db1d39 TC |
547 | domain. You are permitted and encouraged to use this code and any |
548 | derivatives thereof in your own programs for fun or for profit as you | |
549 | see fit. A simple comment in the code giving credit to the FAQ would | |
550 | be courteous but is not required. |