1=head1 NAME
2
3perlfaq2 - Obtaining and Learning about Perl
4
5=head1 VERSION
6
7version 5.20200523
8
9=head1 DESCRIPTION
10
11This section of the FAQ answers questions about where to find
12source and documentation for Perl, support, and
13related matters.
14
15=head2 What machines support Perl? Where do I get it?
16
17The standard release of Perl (the one maintained by the Perl
18development team) is distributed only in source code form. You
19can find the latest releases at L<http://www.cpan.org/src/>.
20
21Perl builds and runs on a bewildering number of platforms. Virtually
22all known and current Unix derivatives are supported (perl's native
23platform), as are other systems like VMS, DOS, OS/2, Windows,
24QNX, BeOS, OS X, MPE/iX and the Amiga.
25
26Binary distributions for some proprietary platforms can be found
27L<http://www.cpan.org/ports/> directory. Because these are not part of
28the standard distribution, they may and in fact do differ from the
29base perl port in a variety of ways. You'll have to check their
30respective release notes to see just what the differences are. These
31differences can be either positive (e.g. extensions for the features
32of the particular platform that are not supported in the source
33release of perl) or negative (e.g. might be based upon a less current
34source release of perl).
35
36=head2 How can I get a binary version of Perl?
37
38See L<CPAN Ports|http://www.cpan.org/ports/>
39
40=head2 I don't have a C compiler. How can I build my own Perl interpreter?
41
42For Windows, use a binary version of Perl,
43L<Strawberry Perl|http://strawberryperl.com/> and
44L<ActivePerl|http://www.activestate.com/activeperl> come with a
45bundled C compiler.
46
47Otherwise if you really do want to build Perl, you need to get a
48binary version of C<gcc> for your system first. Use a search
49engine to find out how to do this for your operating system.
50
51=head2 I copied the Perl binary from one machine to another, but scripts don't work.
52
53That's probably because you forgot libraries, or library paths differ.
54You really should build the whole distribution on the machine it will
55eventually live on, and then type C<make install>. Most other
56approaches are doomed to failure.
57
58One simple way to check that things are in the right place is to print out
59the hard-coded C<@INC> that perl looks through for libraries:
60
61    % perl -le 'print for @INC'
62
63If this command lists any paths that don't exist on your system, then you
64may need to move the appropriate libraries to these locations, or create
65symbolic links, aliases, or shortcuts appropriately. C<@INC> is also printed as
66part of the output of
67
68    % perl -V
69
70You might also want to check out
71L<perlfaq8/"How do I keep my own module/library directory?">.
72
73=head2 I grabbed the sources and tried to compile but gdbm/dynamic loading/malloc/linking/... failed. How do I make it work?
74
75Read the F<INSTALL> file, which is part of the source distribution.
76It describes in detail how to cope with most idiosyncrasies that the
77C<Configure> script can't work around for any given system or
78architecture.
79
80=head2 What modules and extensions are available for Perl? What is CPAN?
81
82CPAN stands for Comprehensive Perl Archive Network, a multi-gigabyte
83archive replicated on hundreds of machines all over the world. CPAN
84contains tens of thousands of modules and extensions, source code
85and documentation, designed for I<everything> from commercial
86database interfaces to keyboard/screen control and running large web sites.
87
88You can search CPAN on L<http://metacpan.org>.
89
90The master web site for CPAN is L<http://www.cpan.org/>,
91L<http://www.cpan.org/SITES.html> lists all mirrors.
92
93See the CPAN FAQ at L<http://www.cpan.org/misc/cpan-faq.html> for answers
94to the most frequently asked questions about CPAN.
95
96The L<Task::Kensho> module has a list of recommended modules which
97you should review as a good starting point.
98
99=head2 Where can I get information on Perl?
100
101=over 4
102
103=item * L<http://www.perl.org/>
104
105=item * L<http://perldoc.perl.org/>
106
107=item * L<http://learn.perl.org/>
108
109=back
110
111The complete Perl documentation is available with the Perl distribution.
112If you have Perl installed locally, you probably have the documentation
113installed as well: type C<perldoc perl> in a terminal or
114L<view online|http://perldoc.perl.org/perl.html>.
115
116(Some operating system distributions may ship the documentation in a different
117package; for instance, on Debian, you need to install the C<perl-doc> package.)
118
119Many good books have been written about Perl--see the section later in
120L<perlfaq2> for more details.
121
122=head2 What is perl.com? Perl Mongers? pm.org? perl.org? cpan.org?
123
124L<Perl.com|http://www.perl.com/> used to be part of the O'Reilly
125Network, a subsidiary of O'Reilly Media. Although it retains most of
126the original content from its O'Reilly Network, it is now hosted by
127L<The Perl Foundation|http://www.perlfoundation.org/>.
128
129The Perl Foundation is an advocacy organization for the Perl language
130which maintains the web site L<http://www.perl.org/> as a general
131advocacy site for the Perl language. It uses the domain to provide
132general support services to the Perl community, including the hosting
133of mailing lists, web sites, and other services. There are also many
134other sub-domains for special topics like learning Perl and jobs in Perl,
135such as:
136
137=over 4
138
139=item * L<http://www.perl.org/>
140
141=item * L<http://learn.perl.org/>
142
143=item * L<http://jobs.perl.org/>
144
145=item * L<http://lists.perl.org/>
146
147=back
148
149L<Perl Mongers|http://www.pm.org/> uses the pm.org domain for services
150related to local Perl user groups, including the hosting of mailing lists
151and web sites. See the L<Perl Mongers web site|http://www.pm.org/> for more
152information about joining, starting, or requesting services for a
153Perl user group.
154
155CPAN, or the Comprehensive Perl Archive Network L<http://www.cpan.org/>,
156is a replicated, worldwide repository of Perl software.
157See L<What is CPAN?|/"What modules and extensions are available for Perl? What is CPAN?">.
158
159=head2 Where can I post questions?
160
161There are many Perl L<mailing lists|lists.perl.org> for various
162topics, specifically the L<beginners list|http://lists.perl.org/list/beginners.html>
163may be of use.
164
165Other places to ask questions are on the
166L<PerlMonks site|http://www.perlmonks.org/> or
167L<stackoverflow|http://stackoverflow.com/questions/tagged/perl>.
168
169=head2 Perl Books
170
171There are many good L<books on Perl|http://www.perl.org/books/library.html>.
172
173=head2 Which magazines have Perl content?
174
175There's also I<$foo Magazin>, a German magazine dedicated to Perl, at
176( L<http://www.foo-magazin.de> ). The I<Perl-Zeitung> is another
177German-speaking magazine for Perl beginners (see
178L<http://perl-zeitung.at.tf> ).
179
180Several Unix/Linux related magazines frequently include articles on Perl.
181
182=head2 Which Perl blogs should I read?
183
184L<Perl News|http://perlnews.org/> covers some of the major events in the Perl
185world, L<Perl Weekly|http://perlweekly.com/> is a weekly e-mail
186(and RSS feed) of hand-picked Perl articles.
187
188L<http://blogs.perl.org/> hosts many Perl blogs, there are also
189several blog aggregators: L<Perlsphere|http://perlsphere.net/> and
190L<IronMan|http://ironman.enlightenedperl.org/> are two of them.
191
192=head2 What mailing lists are there for Perl?
193
194A comprehensive list of Perl-related mailing lists can be found at
195L<http://lists.perl.org/>
196
197=head2 Where can I buy a commercial version of Perl?
198
199Perl already I<is> commercial software: it has a license
200that you can grab and carefully read to your manager. It is distributed
201in releases and comes in well-defined packages. There is a very large
202and supportive user community and an extensive literature.
203
204If you still need commercial support
205L<ActiveState|http://www.activestate.com/activeperl> offers
206this.
207
208=head2 Where do I send bug reports?
209
210(contributed by brian d foy)
211
212First, ensure that you've found an actual bug. Second, ensure you've
213found an actual bug.
214
215If you've found a bug with the perl interpreter or one of the modules
216in the standard library (those that come with Perl), you can submit a
217bug report to the GitHub issue tracker at
218L<https://github.com/Perl/perl5/issues>.
219
220To determine if a module came with your version of Perl, you can
221install and use the L<Module::CoreList> module. It has the information
222about the modules (with their versions) included with each release
223of Perl.
224
225Every CPAN module has a bug tracker set up in RT, L<http://rt.cpan.org>.
226You can submit bugs to RT either through its web interface or by
227email. To email a bug report, send it to
228bug-E<lt>distribution-nameE<gt>@rt.cpan.org . For example, if you
229wanted to report a bug in L<Business::ISBN>, you could send a message to
230bug-Business-ISBN@rt.cpan.org .
231
232Some modules might have special reporting requirements, such as a
233Github or Google Code tracking system, so you should check the
234module documentation too.
235
236=head1 AUTHOR AND COPYRIGHT
237
238Copyright (c) 1997-2010 Tom Christiansen, Nathan Torkington, and
239other authors as noted. All rights reserved.
240
241This documentation is free; you can redistribute it and/or modify it
242under the same terms as Perl itself.
243
244Irrespective of its distribution, all code examples here are in the public
245domain. You are permitted and encouraged to use this code and any
246derivatives thereof in your own programs for fun or for profit as you
247see fit. A simple comment in the code giving credit to the FAQ would
248be courteous but is not required.
249