This is a great case for Parse::RecDescent. It can take a record oriented matching strategy (so A is possible only if B follows and that then excludes C kind of thing). The trick is that writing grammars for it is not super easy or quick or else I'd take a stab--who knows, maybe some good and kind monk who's a pro with it is doing so right now.
In reply to Re: parsing a bibliography
by Your Mother
in thread parsing a bibliography
by patrickrock
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |