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