in reply to How do I match this without lookbehind?

my @results; push @results, $1 while /(~?[^~])/g;

Originally posted as a Categorized Answer.