Thank you guys for your great help!
I tested your advices on the "big file". More important, I seem to understand some of your code :-)
The patterns
/^(\d\-\d\w{2}(?:\.\w+)?|[A-Z]\d{2}(?:\.\d+)?)/
must have the second part
(?:\.\w+)? resp. (?:\.\d+)?)
since there are some items ID as just M32 or 6-317
It seems that I cannot use grep length ... and splice ... with the "?"-part since the item text will be cut in pieces.
Perhaps I do not notice something (I am a novice in perl) since I learned the grep length construction only now after reading your code.
There are some "trash lines" with parenthesis so that the title line can be distinguished as it has parenthesis part at the end only.
By now the code of thewebsi seems to work the best with the file. There are still some trash lines in the output but comparatively few and the can be filtered out by data content.
Thank you all again - for the code and for the class hour!
VE