package Acme::BottomsUp; use warnings; use strict; our $VERSION = '0.01'; use Filter::Simple; use PPI; FILTER { my $doc = PPI::Document->new(\$_); $_ = join '', map { my $s = $_->content; $s =~ s/;\s*$//s; join("\n", reverse split "\n", $s ) . "\n;" } @{ $doc->find('PPI::Statement') }; }; 1;