in reply to How do I split a file into separate sections?
I'm not sure I understand the structure of your
file well enough to answer the question correctly.
From what I understand, though, it seems to me
that you have a file that looks something like this:
and so on. Is the pattern repeating like that? And so for each section, you have, say, a TI, an AU, and a JN, and those 3 (or however many) headers and content constitute one "section"?TI: ... AU: ... JN: ... TI: ... AU: ... JN: ...
The solution that chromatic provided will work for a structure like this, but the resulting data structure may not look like you expect. You could dump it out to see quickly enough what it looks like, but I just thought I'd explain quickly.
You're going to end up with a hash called %sections, where the possible headers in the file (TI, AU, and JN) are the keys, and the values are arrays of all of the lines pertaining to those sections. So, for example, say that the 5th "section" in your file looked like this:
Now you want to get the data for that section. You can access that information like this:TI: Foo AU: Bar JN: Baz
Just in case it needed explaining.# the index is 4 because the array index starts # at 0, btw my $ti = $sections{'TI'}[4]; my $au = $sections{'AU'}[4]; my $jn = $sections{'JN'}[4];
In Section
Seekers of Perl Wisdom