That does it, thanks :). I had it splitted to two sections, since there are citations that do not follow the "normal" format given above and the first would have parsed that input as well.
But I quess that I can do another pattern matching if that pattern fails. Since that does the same thing really.
Btw. How does that assingment to %ret works? AFAIK the match returns the list of words (camel book p.151 is an example). But how @ret turns to %ret I do not understand.