-is $top, 0, 'main : here' unless $^P;
-is TOP, $top, 'main : top';
-is UP, $top, 'main : up';
-is SUB, undef, 'main : sub';
-is EVAL, undef, 'main : eval';
+is $top, 0, 'main : here' unless $^P;
+is TOP, $top, 'main : top';
+$old_sig_warn = $SIG{__WARN__};
+local ($SIG{__WARN__}, $got_warn) = $warn_catcher;
+is UP, $top, 'main : up';
+local $SIG{__WARN__} = $old_sig_warn;
+is $got_warn, 1, 'main : up warns';
+is SUB, undef, 'main : sub';
+is EVAL, undef, 'main : eval';