in reply to Parsing... possible w/o too much stress ?

If the file is simple enough, Text::Balanced could work, as could a well-tuned set of REs (but then again, Text::Balanced is easier to use). If you have strings that contain unbalanced parentheses, then problems could ensue (or rather, you have to do more work).

perl -MHTTP::Daemon -MHTTP::Response -MLWP::Simple -e ' ; # The $d = new HTTP::Daemon and fork and getprint $d->url and exit;#spider ($c = $d->accept())->get_request(); $c->send_response( new #in the HTTP::Response(200,$_,$_,qq(Just another Perl hacker\n))); ' # web

Replies are listed 'Best First'.
Re: Re: Parsing... possible w/o too much stress ?
by rob_au (Abbot) on Mar 19, 2003 at 14:06 UTC
    If the format is more complex than what parsing with Text::Balanced will allow, another option on the path to a solution may be to investigate the Parse::RecDescent module (also by Damian Conway). As those who have used this module are aware, this module very much represents *the* way to perform complex parsing and pattern extraction - However, as with all powerful tools, there is a learning curve, particularly if you are not used to writing formal grammars.

    Some useful sources of information for reference when learning to use Parse::RecDescent include Parse::RecDescent::FAQ and this article from The Perl Journal (Google cache).

    Using this module I have recently been able to translate complex proprietary format files supplied from an external source into an internal format for print processing with only a few hours work by writing a formal grammar and making use of Parse::RecDescent - A process solution which has previously taken days, and in some cases weeks, for dedicated parsing code to be written, tested and deployed.

     

    perl -le 'print+unpack("N",pack("B32","00000000000000000000001000111110"))'