$agenda = [ sub { "Hello" }, sub { scalar reverse shift }, sub { chop shift } ]; chain($agenda, [ ]); ### BEGIN GOLF MODE ### sub chain($$) { my@x=@{+pop};foreach(@{+shift}){@x=$_->(@x)}@x } ### END GOLF MODE ###