Great CPAN Modules
Given the proliferation of SAX filters, I expect this to become a popular system for 
XML processing in Perl.
The Perl XML community is interesting aside from any particular module. 
Using the Perl XML mailing list as a hub, the community is unusual for its cohesion. 
Module ideas are vigorously discussed and the community even shares a Source 
Forge project and Web space. It may be that this cohesion has come as a response 
to the largely uphill battle facing the Perl XML developers. As Matt Sergeant put it, 
 Right now our biggest battle seems to be for acceptance within the Perl com 
munity as a whole. People completely accept things like the DBI, Tk/Gtk, and LWP 
as a vital part of Perl, but are quick to dismiss XML as something they just don't 
need and really don't like. We're kind of the bastard child of the Perl community. 
But we're winning small battles quite often now. 
Parse::RecDescent
No discussion of great CPAN modules would be complete without at least one module 
by the  Mad Scientist of Perl,  Dr. Damian Conway.
25
 His Parse::RecDescent module 
generates recursive descent parsers from a vaguely yacc like grammar. If you've 
never used yacc, the concept is simple: you write a description of the grammar you 
want to parse and the parser compiler, yacc, generates an executable parser that 
will parse your grammar. Parse::RecDescent extends this concept in a number of 
directions that allow the grammar writer far more freedom of expression than yacc.
Parse::RecDescent's interface is superficially object oriented parser objects are 
instantiated by passing the grammar to Parse::RecDescent >new(). The returned 
parser object has methods to parse input text. However, the real interface to 
Parse::RecDescent is in the grammar. The syntax of Parse::RecDescent grammars 
is essentially an entirely new programming language designed specifically for 
building parsers that interact with Perl. The advantage of this approach over an 
entirely object oriented interface are brevity and flexibility.
The success of Parse::RecDescent is largely the usual mix of a common problem 
and an efficient solution. However, like many of Damian's modules, it is also an 
enjoyable technical challenge for the user. Learning to use Parse::RecDescent is 
fun in and of itself; the fact that it helps you solve parsing problems too can seem 
almost secondary!
The most common complaint about Parse::RecDescent is that it's too slow and 
uses too much memory. My opinion is that for what Parse::RecDescent  accomplishes, 
it's amazing that it uses as few resources as it does. However, to answer these critiques, 
Damian is hard at work on a completely new module, Parse::FastDescent, which may 
25. See Dr. Damian Conway's sites at http://www.cs.monash.edu.au/~damian and 
http://www.yetanother.org/damian/.
17
173
3






footer




 

 

 

 

 Home | About Us | Network | Services | Support | FAQ | Control Panel | Order Online | Sitemap | Contact

web hosting perl

 

Our partners: PHP: Hypertext Preprocessor Best Web Hosting Java Web Hosting Inexpensive Web Hosting  Jsp Web Hosting

Cheapest Web Hosting Jsp Hosting Cheap Hosting

Visionwebhosting.net Business web hosting division of Web Design Plus. All rights reserved