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;
Non-existent; I don't have TV
Non-existent; my TV doesn't have/need a remote
Under my control; I watch alone
Under the control of whoever shouts loudest
Under the control of whoever gets it first
One of many, and the TV has a mind of its own
Results (593 votes),