##
if ($debug) {
# $debug is true
}
else {
# $debug is false
}
$debug = 1;
$debug = !$debug; # flip-flop
####
package boolean;
use overload (
'+0' => sub { $_[0][0] },
fallback => 1,
);
sub new { bless [ $_[1] ? 1 : 0 ], $_[0] }
sub flip { $_[0][0] = 1 - $_[0][0] }
####
use boolean;
$debug = boolean->new(1);
print "hi\n" if $debug;
$debug->flip;
print "bye\n" if $debug;