Finally, a "sort of" test case :)
#!/usr/bin/perl
use strict; # https://perlmonks.org/?node_id=11129253
use warnings;
local $_ = <<END;
Point 1.3.4: A piece of text.
Point 1.3.5: A piece of text.
Point 1.3.6: Another piece of text. Point 1.3.6: For some reason this
+piece of text isn't finished yet.
Point 1.3.6: In fact, this piece of text even broke into a new line.
Point 1.3.7: Finally, a new piece of text.
END
my @parts;
push @parts, $& while / (Point\s[\d.]+:) .*? (?=Point|\z) (?!\1) /gsx;
use Data::Dump 'dd'; dd \@parts;
Outputs four chunks, just like you asked for:
[
"Point 1.3.4: A piece of text.\n\n",
"Point 1.3.5: A piece of text.\n\n",
"Point 1.3.6: Another piece of text. Point 1.3.6: For some reason th
+is piece of text isn't finished yet.\n\nPoint 1.3.6: In fact, this pi
+ece of text even broke into a new line.\n\n",
"Point 1.3.7: Finally, a new piece of text.\n\n",
]