sub my_comparison{ @_ == 2 or die "Incorrect number of args to my_comparison"; local $SIG{__WARN__} = sub { print "Tried to test a non-number with ==\n" }; local $^W = 1; $_[0] == $_[1]; }