Python::Decorator filtered the source into:
-------------------------------
use Carp qw(confess);

my $st = q/
@thisisnotarealdecorator
sub foo {
   1;
}
/;

sub loginout {
    my $name = shift;
    return sub {
	my $f = shift;
	return sub {
	    print "entering sub $name\n";
	    &$f(@_);
	    print "leaving sub $name\n";
	};
    };
}


{ no strict "refs"; *{__PACKAGE__."::foo"} = loginout('foo')->( sub  {
    print "running foo()\n";
} ); }

foo();
-------------------------------
entering sub foo
running foo()
leaving sub foo
