Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Re: Parsing and extracting data from files.

by jaredor (Priest)
on Apr 05, 2013 at 18:11 UTC ( #1027190=note: print w/replies, xml ) Need Help??

in reply to Parsing and extracting data from files.

Hola, Initiate. Mine is not a direct answer to what seems to be your petition (elegant TOC file parsing) but I can't resist but to point out a dusty path that seems aligned exactly in the direction you are going: TheDamian teaching Perl OO via creating a CD::Music class.

That path is a bit rocky and disused. Most monks seem to prefer following Moose tracks....

  • Comment on Re: Parsing and extracting data from files.

Replies are listed 'Best First'.
Re^2: Parsing and extracting data from files.
by WhiteTraveller (Novice) on Apr 08, 2013 at 18:21 UTC

    Thank you, jaredor.

    Moose looks interesting - but is, I am afraid, beyond me at this stage. However, the link to Conway is most helpful.

    However, I was actually looking for advice on the parsing of the file. Unless there is a better way, I am likely to do a regexp on the first word of each line, and use a switch statement to subsequently process and store the data.

    Thanks again.

      You're welcome!

      Here's a direct answer for you, but it's a three-part answer: The first part is vague, the second, long, and the third....

      1. Check out the code in a CPAN module that parses a text file. I would not necessarily recommend any of the CSV modules, since those are probably pretty hairy and difficult to comb through. Something more like Text::Delimited is probably a good place to start for ideas. These smaller modules may or may not be as elegant as what TheDamian would write, but presumably they work and working code is always a good place to start from.
      2. An excellent book to read for perl and CS ideas in general is Higher Order Perl, which is online and free. It builds up to parsing, so is not a quick solution for you to adopt. (And after you read HOP, then Moose will not be daunting :-)
      3. Lastly, there is nothing wrong with what you propose to do for parsing your files. Do that until it fails, then pose the problem back here. PM tends to be supportive of petitioners who arrive at the gates with actual code and you will find no lack of advice on how to make things better. The relative paucity of responses to this question is likely because you asked a general question about parsing. The answers to that could range from zen-like koans to a book. (I'm all about the trivia, so that is what I dropped on you.) I'm assuming that you are doing this as an exercise in learning perl, so in that case, go out there and reinvent some wheels!

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1027190]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (7)
As of 2020-05-30 13:10 GMT
Find Nodes?
    Voting Booth?
    If programming languages were movie genres, Perl would be:

    Results (172 votes). Check out past polls.