Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What do people mean when they say “Perl is very good at parsing”? [closed]

What do people mean when they say "Perl is very good at parsing"?

How is Perl any better or more powerful than other scripting languages such as Python or Ruby?

like image 390
Quintin Par Avatar asked Dec 11 '09 14:12

Quintin Par


2 Answers

They mean that Perl was originally designed for processing text files and has many features that make it easy:

  • Perl has many functions for string processing: substr, index, chomp, length, grep, sort, reverse, lc, ucfirst, ...
  • Perl automatically converts between numbers and strings depending on how a value is used. (e.g. you can read the character string '100' from a file and add one to it without needing to do an string to integer conversion first)
  • Perl automatically handles conversion to and from the platform encoding (e.g. CRLF on Windows) and a logical newline ("\n") within your program.
  • Regular expressions are integrated into the syntax instead of being a separate library.
  • Perl's regular expressions are the "gold standard" for power and functionality.
  • Perl has full Unicode support.

Python and Ruby also have good facilities for text processing. (Ruby in particular took much inspiration from Perl, much as Perl has shamelessly borrowed from many other languages.) There's little point in asking which is better. Use what you like.

like image 129
Michael Carman Avatar answered Sep 19 '22 10:09

Michael Carman


Don't take a statement of Perl's strengths to be a statement of another language's failings. Perl is good for text processing, but that doesn't mean Ruby or Python suck.

When people talk about Perl being "good for parsing", they're mainly echoing Perl's history; it was invented in the day when heavy-duty text processing wasn't easy. Try doing some of that in C or C++ (Java hadn't been invented yet, either!). Back in the day, Larry was trying to do his work with sed and awk, but running into their limitations. He made a tool that made text even easier to work with.

Perl is still very good for text manipulation tasks, but now so are a lot of other languages.

like image 28
brian d foy Avatar answered Sep 22 '22 10:09

brian d foy