I know Perl is a language revered by many hackers (as in hacker vs cracker) and respected by many good programmers for its expressiveness. I also realize it is useful to know and it's very handy at generalizing common Unix tasks (Unix here includes Linux and Cygwin). I also know that being a good hacker probably means you're a good programmer in general (references on this one are sparse around the web, but about everything Paul Graham has ever written seems approving of this statement to me). So my question is whether there is a reason that attracts hackers to Perl in particular? Will learing Perl improve my general programming, problem-solving and hacking skills if done properly? Does it present unique tools that are more useful to a hacker?
closed as not a real question by Jarrod Roberson, Jim G., Robert Harvey, gnat, ChrisF♦ Jul 2 '12 at 10:44
It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, see the FAQ.
Learning any new language will improve your "general programming, problem-solving and hacking skills". Every programming language approaches problems in a different way, according to the mindset and intent of the language designer(s). Some languages are much more similar to each other than others. Many languages are grouped into "paradigms" such as "object-oriented", "procedural", "functional", etc. Perl is mostly procedural, with a sprinkling of object-oriented and functional.
There's nothing wrong with learning Perl to improve your general programming skills, but in my opinion there's nothing about Perl that makes it particularly good for that purpose, either.
|show 2 more comments|
Perl is an incredibly powerful tool (especially for massaging text files) for smaller applications which is already or very easily made available on any Unix-platform. Hence those working on Unix-platforms tended to have it as one of the powertools in their toolbox and made it do very interesting things.
One of the things characterizing Perl is that there is usually more than one way to do things and you can choose the one which most closely reflect your way of thinking. This makes it a very nice tool to use.
Unfortunately, as Perl is a language which has grown into what it is, the redesign into Perl 6 has essentially been vaporware the last 10 years. This has caused Perl to loose a lot of adoption, but I do not think the Perl community cares - they just want to have fun.