+# Locally capture warnings and reprint them with the name prefixed
+sub catch {
+ localize_elem '%SIG', '__WARN__' => sub {
+ print Scope->tag->name, ': ', @_;
+ } => UP;
+}
+
+# Locally clear @INC
+sub private {
+ for (reverse 0 .. $#INC) {
+ # First UP is the for loop, second is the sub boundary
+ localize_delete '@INC', $_ => UP UP;
+ }
+}
+
+package UserLand;