in reply to Enforcing growth of regex

The reason you're not getting the answer you want is that you haven't yet presented the problem in an easy-to-understand format.  I don't think it is obvious that you're looking for "a string ending with one of '.!?'".  For one thing, there isn't such a regex in your program.  Maybe you meant ".?!", from the line "m/^\d+\. (^:+): (.+?.?!) ..."?  But, I'm sorry, I still have no idea what you're trying to do.  I spent about 10 minutes just trying to get your program to output something, before I realized the input has to contain multiple lines, and then a following blank line.  This is the kind of thing where you have to help us to help you, by saying something along the lines of:  "To run this program, perform the following steps ...".

My suggestion is that you simplify this down to just a few lines, where the problem you're having is exhibited in a brief example.  Make the input a hardcoded list; eg.:

my @lines = ( "110. Wunder, E.; Burghardt, U.; Lang, B.; Hamilton, L.: Fanconi's", "anemia: anomaly of enzyme passage through the nuclear membrane? Ano +malous", "intracellular distribution of topoisomerase activity in placental", "extracts in a case of Fanconi's anemia. Hum. Genet. 58: 149-155,", "1981.", "", );
so it doesn't take the user a lot of extra setup to be able to duplicate the problem.  Perhaps you can even show several examples (with code, not just words) of what you've tried.  The reason I'm suggesting this is twofold -- not only will you make the problem quicker to reproduce, and thus more tempting to try to solve, but you may actually find an answer yourself in the process of elucidating what you've tried.

@ARGV=split//,"/:L"; map{print substr crypt($_,ord pop),2,3}qw"PerlyouC READPIPE provides"