Perl is a very useful language that can be used to do a lot of things. However, it is only a language, mastering Perl, you just mastered a small piece of knowledge in the field of computer. Before you learn Perl, be clear about your learning objectives and use the right learning methods and resources.
(a) Purpose of study
What is your purpose in learning Perl? Is Perl enough to achieve your purpose? Let me help you analyze and see.
1. I want to be a system Administrator and use Perl for SA work.
The idea is very good, the excellent sa,perl ability must be necessary. Perl's own flexible syntax, powerful regular expressions, good shell-binding capabilities, and Cpan's many modules will make your SA work as fast as you can and reduce your workload. However, the essence of SA work is system, which may be worth your time, and is the system's own stability and security maintenance. You need to learn unix,linux and other OS operations, learning Apache,sendmail,bind,squid,mysql and other application configuration, but also to learn awk,sed and other shell script. Every one of these things to be cooked, it is worth your efforts to pay a lot.
2. I want to be a Web Programmer and use Perl for web development.
The idea is good, please study perl hard. Don't be fooled by some of the so-called popular concepts, and don't spend all day thinking about when CGI will be out of date. At least from my point of view, a day of the web, CGI will always be useful. I do not list the large sites abroad with CGI driver, because that's too much. The country's largest 2 email Services Provider,sina and NetEase, their webmail is a CGI implementation, and every day to undertake the tens of the visit.
However, you should also realize that mastering Perl is not enough for web develop. You will learn the HTTP protocol, learn html,xml,javascript and other web rendering languages, learn Mod_cgi,mod_perl and other Apache modules, learn SQL statements and database. Even learn Php,java or. NET technology, after all, these three are very popular, you do not have to love them, but mastered them, in the domestic job search is relatively advantageous. I rarely hear of a web development single-recruit Perl programmer, which is not the same as abroad. In the same way, the above mentioned aspects also require you to spend a lot of effort to learn, and not only to learn Perl so simple.
3. I want to be a applications Programmer, using Perl for Applications development
If so, I advise you to learn C + + First, after all, that is the basis of computer language. Although some simple applications can be written in Perl, although Lincoin Stein says he developed a Web server in Perl faster than Apache, the Perl-developed program wants to be a product, There's a lot of problems--. It's just an explanatory script, and a lot of things on the bottom are based on C. If you want to pursue high performance and product, why not use C?
Of course, if you're just writing applications for yourself or your company, there's nothing wrong with Perl. Our company has a log department, the daily job is to analyze the huge amount of data, which is done with Perl enough. Working with text, Perl is stronger than any language. But even then, when the department is hiring, you will be asked to C + +.
4. I want to be a Perl Hacker and contribute modules to CPAN.
The spirit is very commendable, I hope you can persist. I do not reach this level, so it is not good to say anything. In this aspect of development, I hope you can thoroughly understand OOP and understand the concepts of reference passing and symbol table, otherwise it is not possible to write modules.
(ii) mode of study
If there is no teacher to teach (as I know, the domestic university/college, very few Perl courses), then the only way to learn is to read more books, more hands-on code.
1. Do you want to read more, or look at the code of others?
The former, of course. Only if you understand the principle, you can use it flexibly, write a clear code, and form your own code style.
Blindly look at other people's code, but do not pay attention to the basic knowledge, will make you confused and overwhelmed. Because of this, your knowledge will be very scattered, can not be your own knowledge system.
Of course, while reading, while looking at other people's Code, is also a good way to learn. But remember, you look at someone else's code, is to help you understand the basic knowledge of the book, do not outs upside down.
2. Just read the basic book, I want to see "Perl Advanced Programming" and "Perl Technology Insider"
Recently in the CU forum to see a lot of this topics, doll heard on the faint. Please make sure you thoroughly understand the basics, and then go to see those books. Someone asked me about Perl's high-level data structure, and when I found out that he was not very clear about the basic reference of Perl, what was there to talk about? How many people don't know the difference between $var and ($var)? How many people still don't understand ${$hash {key}} differs from $ $hash {key}? Never be too hasty, please step it up. My teacher was a bit of a celebrity in the Perl world, and he said it took 3 years to master Perl completely. More reading, more hands-on, not ambitious oh.
(iii) Learning resources
I've seen 3 of books that I think are very good, they are "learning Perl", "Programming Perl", "Network Programming with Perl". And another one that seems to be "CGI programming With Perl ", don't look very carefully, don't mention it. The top 2 is oreilly, the nickname size Camel book, a classic book for Perl to get started and improve. The 3rd is the classic masterpiece of Mr. Lincoin Stein, who is also a developer of MOD_CGI, whose superb technology has helped me to benefit for a lifetime. These 3 books all seem to have the Chinese version, go to the bookstore to see whether can buy. If you read English no problem, I suggest you still read the original good.
In addition, you can benefit from subscribing to the Perl mailing list, which lists all the well-known Perl mailing list:http://lists.cpan.org/ The beginners and beginners-cgi may be useful to you. Modperl-user is a discussion of mod_perl.
Site aspects:
http://learn.perl.org/This site is for the study of Perl people preparation
http://perl.apache.org/docs/here is Mod_perl's full docs |