in reply to
non-greedy piecewise matching
You have to use '.+?' instead of '.+' to make non-greediness. Take a look at perlre.
As you said, if .xml is present after each records, then we can also use substitution or split function.
$file =~ s/(\.xml)/$1\n/g;
The moon would crash into the Earth
The moon would breakup at the Roche limit
The wire would turn the Earth into a giant electromagnet
The Earth would turn into a giant yo-yo.
The moon would orbit every ~24 hours, significantly changing the lunar calendar
The centripetal force would rip out the Earth's core
All man-made satellites would be destroyed, causing great havoc
Moon landings would become significantly easier
The rope or wire would break, no matter how strong it was
The Vulcans would show up for First Contact causing yet another revision to the timeline
The Galactic Police would snip the rope and put the Earth on probation
Some idiot would get terrible, terrible, rope burn
We finally get those golf balls back
Results (739 votes),