Originaly from 100 Reasons for Perl.

  1. Perl is free. Unlike C/C++ compilers and other tools that cost as much as $3,000.00 per user license, Perl is downloadable from the internet.
  2. Perl is interpreted. This eliminates repeated compile and link steps.
  3. Perl programs are text files. This means that they are human readable, and very small compared to compiled programs.
  4. Perl is fast. For intense data manipulation, I have tested Perl at three times the speed of C doing the same thing. Strange, because Perl is created in C, but it's true. Though this wouldn't be true for every kind of program, this beats the heck out of the " ...interpreted languages are slow..." lie propagated by C and Assembler programmers.
  5. Perl is easy to learn. It is similar to C, so it is a cinch for C programmers to learn; but it has only a fraction of the rules that C has, so it's easy for anyone to learn.
  6. Perl variables are variables. They store data, no matter what kind. There are not ints or floats or lpszs or pointers to pointers to arrays of null-terminated character arrays.
  7. Perl handles data type translations automatically.
  8. Perl doesn't crash. Once a Perl program has been compiled into its bytecode and is running, it's almost impossible to do something stupid enough to make a program halt. It is impossible to crash the system... at least, it's never happened to me.
  9. Perl has "no arbitrary limits". In fact, this is one of its primary selling points straight out of the books. There is no max-int. No limit to recursion or nesting. If you code it, Perl will run it.
  10. Perl guesses well. I couldn't begin to guess at the number of times when I've guessed at Perl grammar, only to have the program do exactly what I wanted it to do anyway. I've made up the structures, and Perl figured it out. Heh, try THAT in C!!!
  11. Perl has strings. That alone should make a C or C++ programmer want to give up make and come on over to some real programming for a change.
  12. It is impossible to go out of array bounds in Perl.
  13. Perl strings are not arrays. They are just variables, like they should be. The NULL is just a character, not a requirement for correctly terminating an array of characters used to prevent the corruption of memory and the rebooting of the operating system.
  14. Perl is cross-platform. It has been ported to every operating system I've ever heard of. This is a claim that JAVA may never be able to make.
  15. Perl has lists and hashes as basic data types. This gives the power to do real programming without the overhead of coding hundreds of lines just to get it ready to start.
  16. Perl's lists and hashes can be nested to an unlimited degree to create any imaginable type of data structure.
  17. Perl is supported and controlled directly by the user community, not by a committee of people who like to keep things like they were when they first started programming back in the 50's. Perl can improve naturally, unlike C.
  18. Perl is, basically, the brainchild of a person. It is not an accidental collection of functions and header files that just by chance happened to get called (collectively) "C" and later became an official language. Perl was planned in advance, not just hodgepodged together willy-nilly.
  19. Perl was created by a linguist, not a binary-brained collection of computer geeks. This means it reads like poetry... in fact, Perl can be made into poetry that actually parses and runs.
  20. Perl doesn't take the fun out of programming. It lets a programmer concentrate on algorythms and solving problems, not on worrying about memory buffers.
  21. Perl has the most powerful regular expression features I've ever seen. Text search and replacement is what Perl does best.
  22. Unlike other interpreted languages like Visual Basic, that have to handle character-by-character searches and replacements, Perl's regular expression text manipulation is handled internally (as the result of a single instruction) by super-optimized code. This is part of the reason why it's so fast.
  23. Perl has a huge installed base, and is still growing. Since it was only recently fully ported to Microsoft Windows, it hasn't had time to catch on here, but believe me, brother, it will.
  24. Perl is easily obfuscated. That makes for some interesting geekish fun.
  25. Perl grammar is totally flexible, even more so than C. In the hands of experienced programmers, this makes programs even easier to read.
  26. Perl is easy enough, but complete enough, to stay with a programmer as he advances from his first line of code to his millionth. In other words, it's simple enough for a one-line "Hello World" program, but robust enough to create event-driven, windows-based, internet applications.
  27. Perl is the language of CGI. This makes it a given throughout the internet.
  28. Whether or not JAVA fans want to admit it, Perl has a tremendous margin of install- and user base over JAVA.
  29. Perl can do everything JAVA can do, just much easier.
  30. Perl programs are often considered art. This is because Perl lends easily to free expression and total creativity.
  31. Perl does windows like C wants to. Using the Tk module, windows programs are as easy to build in Perl as they are in Java, VB, or Delphi.
  32. Perl is excellent as a system, network, or internet scripting language. (DOS users: scripts are super-powered batch files on UNIX.)
  33. Perl is an excellent server configuration tool. For example, creating 1000 new users in 10 seconds with a 10-line script.
  34. Unlike C, the rules for Perl don't change much from one type of machine or from one operating system to another.
  35. Perl is extremely well documented throughout the internet, in an increasing number of at the local mom-and-pop bookstore, and in standard UNIX and LINUX distribution.
  36. The general rule is: 1 line of Perl equals between 10 and 500 lines of C. This is in how long it takes to code, how hard it is, how much there is to keep track of, how many variables are needed, and how many programmers quit because of bandaided C shit-code they have to maintain.
  37. Perl programs generally are shorter than 500 lines long. This is partly, I admit, from the types of jobs Perl is usually used for; but mostly because of how much easier and intuitive it is to program in Perl.
  38. It is otay to program Perl intoxicatedly. It still works fine, just looks a little topsy-turvy the morning after.
  39. It is otay to program Perl while mentally or physically ill. It just looks like C code the morning after.
  40. It is otay to program Perl while under the influence of hallucinogenics. It just looks a little like a Picasso painting the morning after, and may be shaped like a choochoo train.
  41. It is not otay to program Perl totally sober. It ends up looking like a cross between assembler and C. Just kidding.
  42. The nature of Perl as it is, a programmer doesn't get as moody getting last minute changes... they're just a change in a single line of code. (Just don't tell the end users that.)
  43. The nature of Perl as it is, a programmer doesn't mind a little unpaid overtime to finish a huge project. It's only five or ten minutes of extra coding for that list of lists of lists of hashes of lists of hashes of hashes of lists of hashes of scalars. (No joke. I programmed that thing!)
  44. Perl does data processing. C can't say that. VB can't say that. Delphi can't say that. With those languages you have to dummy up data processing with their extremely limited DP functionality. I say again, it's 1 line of perl to 10 - 500 lines of C. VB and Delphi are almost that bad, especially for DP.