in reply to ikk
If the words that split the records are just regular strings (ie., not regular expression), you could use the special $/ variable. Set it to the string, then just read in the file normally--it should read it in in chunks separated by the string. The chunks will string include the string that you used to split the input, so if you don't want it, strip the strings out.
Try it out--see how it works for you.$/ = "----\n"; while (<DATA>) { print "{\n", $_, "}\n"; } __DATA__ foo bar ---- baz ---- quack
If it doesn't, try posting some of your own code and some sample data.
|
|---|