use warnings;
use strict;
use Mojo::DOM;
my $html = "
a
\nb
\nc
\nd
\n"
."e
\nf
\ng
\nh
\ni
\n"
."j
\nk
\n";
my $dom = Mojo::DOM->new($html);
$dom->find('h2')->each(sub {
my $next = $_->next;
my $new = $_->wrap('');
if ( $next && !$next->matches('h1') ) {
$new->append($next);
$next->remove;
}
});
print "$dom";