use XML::Writer::Nest; use strict; use warnings; my $writer = new XML::Writer; #### LINEAR CODE my $level1 = XML::Writer::Nest->new(tag => 'level1', writer => $writer ); my $level2 = $level1->nest ('level2'); my $level3 = $level1->nest('level3'); #### CONTROL ORDER OF DESTRUCTION { my $level1 = XML::Writer::Nest->new(tag => 'level1', writer => $writer ); { my $level2 = $level1-> nest ('level2'); { my $level3 = $level2->nest('level3'); } } }