Commit | Line | Data |
cf83821d |
1 | You have a lot of popular dynamic languages to choose from including |
2 | Ruby, Python, Java and Perl. Each one has its own style, advantages and |
3 | quirks. This document is meant for newcomers to Perl to see why it is a |
4 | language worth knowing by all modern programmers. |
5 | |
6 | CPAN |
7 | |
8 | The CPAN (Comprehensive Perl Archive Network) has been the crown jewel |
9 | of Perl for decades. It is a public repository of over 10,000 modules of |
10 | Perl that are free and easy to download and use. If there is a protocol, |
11 | file format, algorithm, library or almost anything else, there will |
12 | likely be a CPAN module that handles it for you. Modules range from very |
13 | popular ones like LWP (for fetching web pages), to File::Slurp (which |
14 | reads/writes/modifies whole files) to obscure modules that are used by a |
15 | few developers in a niche field. CPAN isn't a dusty mausoleum |
16 | either. Over 2/3 of the modules have been uploaded or updated in the |
17 | past year. There are also several supporting services for automatic |
18 | testing of modules against a matrix of Perl versions and platforms and |
19 | for reporting bugs and making feature requests. |
20 | |
21 | Community |
22 | |
23 | One of the joys of programming in Perl is becoming a member of the |
24 | worldwide Perl community. There are over 1 million Perl developers on |
25 | planet earth and they work together in many ways to help each other. The |
26 | Perl community hosts conferences (YAPC and workshops), develop and |
27 | maintain Perl (p5P), write modules for CPAN, support developers with |
28 | websites and mailing lists, run local user groups and much more. You can |
29 | find someone in the Perl community in your town, country or on the net |
30 | who can help you figure out which module to use, how to use a feature |
31 | that is new to you, and how to contribute backto the community. To read |
32 | much more about this and find the community area of interest to you, see |
33 | the document perlcommunity |
34 | |
35 | Regular Expression Engine |
36 | |
37 | Regular expressions, commonly called regexes, are a very powerful and |
38 | common way to match and extract strings from larger pieces of text. They |
39 | used in many areas including parsing, validation and transformation. The |
40 | ironic thing is that many other languages claim to have 'Perl compatible |
41 | regular expressions' (PCRE). Many do use a PCRE library for that. But |
42 | none are really compatible with Perl's as it keeps getting improvements |
43 | and new features that keep it the king of the hill. Perl also integrates |
44 | regexes into the language in a more concise way which reduces the amount |
45 | of code you need to get a job done. |
46 | |
47 | Documentation |
48 | |
49 | Perl has some of the best and most useful documentation around. There |
50 | are tutorials on many topics, solid reference manuals, documents on |
51 | special topics for experts and more. You can read these documents on |
52 | your system or at http://perldoc.perl.org which also has a smart search |
53 | engine. There are also navigation documents such as 'perl', perlblurb |
54 | and perltoc that help you quickly find the topics that interest you. |