This is as close to your desired output as I can achieve.
#! perl -slw use strict; ( my $data = do{ local $/; <DATA> } )=~ s[\n\+][]g; print "'$1'" while $data =~ m[ ( .+? ## Capture everything (minimally) (?: [.!?] \s+ ## A terminator followed by whitespac +e | [a-z] ## or a lowercase letter ) ) (?= [A-Z] | \z ) ## followed by a an uppercase letter +or EOS ]xg; __DATA__ The Tell-Tale HeartEdgar Allen PoeTRUE! nervous, very, very dreadfully + nervous I + had been and am; but why WILL you say that I am mad? The disease had + sharpened + my senses, not destroyed, not dulled them. Above all was the sense o +f hearing + acute. I heard all things in the heaven and in the earth. I heard ma +ny things i +n hell. How then am I mad? Hearken! and observe how healthily, how ca +lmly, I ca +n tell you the whole story.
c:\test>junk5 'The Tell-Tale Heart' 'Edgar Allen Poe' 'TRUE! nervous, very, very dreadfully nervous I had been and am; but w +hy WILL you say that I am mad? ' 'The disease had sharpened my senses, not destroyed, not dulled them. +' 'Above all was the sense of hearing acute. ' 'I heard all things in the heaven and in the earth. ' 'I heard many things in hell. ' 'How then am I mad? ' 'Hearken! and observe how healthily, how calmly, I can tell you the wh +ole story. '
Which doesn't quite match, but then I do not see how (or more importantly why?) you differenciate between splitting after the question mark here I am mad? The disease but decide not to here How then am I mad? Hearken!?
In reply to Re: Using punctuation to split a text
by BrowserUk
in thread Using punctuation to split a text
by UrbanHick
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |