http://qs321.pair.com?node_id=1189810

Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

Hello Monks,

I was having a discussion with a colleague about my new found interest in Perl, and he seemed to be of the opinion that Perl is not "good enough" for learning algorithms, as it requires a "proper programming language" to learn algorithms. I am not a developer by profession or education but have used Perl ample amount of times to fix issues. To me, Perl is a practical, pragmatic tool that helps one solve problems much faster.

I love that I can do a @range (1..10) in Perl to generate a list, love map and grep, and overall, just find the language far more interesting. Another practical fact is, I truly do not have time to invest in learning another programming language due to job and other commitments. I'd rather be good with Perl, use it to solve the problems that I come across in my work, if possible, use it to learn algorithms, which I can then use to enhance my problem solving skills and then maybe if time permits, try other languages.

So my questions are,

Is it true that, while Perl is an excellent tool, is it really not the first choice when it comes to learning algorithms?

There was an algorithm book in Perl but it was published quite a long time ago and may not be suitable now as there are many improvements in Perl. Is there any new book that I can use?

Since I am somewhere between beginner and intermediate level, will it be wise enough for me to get better with Perl first and then focus on algorithms?

Request the monks to please enlighten me.