sub replace (&$) { local $_ = $_[1]; &{$_[0]}(); $_; }