$ perl -Mstrict -Mwarnings -E ' my %default_signal_for = %SIG; say "*** Starting values ***"; say "SIG{USR1}: ", $SIG{USR1} // ""; say "DEF{USR1}: ", $default_signal_for{USR1} // ""; $SIG{USR1} = sub { 1 }; say "*** After setting USR1 ***"; say "SIG{USR1}: ", $SIG{USR1} // ""; say "DEF{USR1}: ", $default_signal_for{USR1} // ""; $SIG{USR1} = $default_signal_for{USR1}; say "*** Back to default values ***"; say "SIG{USR1}: ", $SIG{USR1} // ""; say "DEF{USR1}: ", $default_signal_for{USR1} // ""; ' *** Starting values *** SIG{USR1}: DEF{USR1}: *** After setting USR1 *** SIG{USR1}: CODE(0x7fa4008401b0) DEF{USR1}: *** Back to default values *** SIG{USR1}: DEF{USR1}: