From 760e4544697071696f6964551244313f9829b314 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Quelin?= Date: Wed, 3 Jun 2009 19:19:59 +0200 Subject: [PATCH] LBI::debug() now optimized away if debug not enabled --- lib/Language/Befunge/Interpreter.pm | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/lib/Language/Befunge/Interpreter.pm b/lib/Language/Befunge/Interpreter.pm index cbfea6f..4baeda8 100644 --- a/lib/Language/Befunge/Interpreter.pm +++ b/lib/Language/Befunge/Interpreter.pm @@ -39,7 +39,6 @@ use Class::XSAccessor set_file => 'file', set_params => 'params', set_retval => 'retval', - set_DEBUG => 'DEBUG', set_curip => 'curip', set_ips => 'ips', set_newips => 'newips', @@ -238,18 +237,24 @@ sub abort { } -# -# debug( LIST ) -# -# Issue a warning if the interpreter has DEBUG enabled. -# -sub debug { - my $self = shift; - $self->get_DEBUG or return; - warn @_; +{ + # + # debug( LIST ) + # + # Issue a warning if the interpreter has DEBUG enabled. + # + sub debug {} + + sub set_DEBUG { + my ($self, $debug) = @_; + my $sub = $debug + ? sub { shift; warn @_; } + : sub {}; + no warnings 'redefine'; + *debug = $sub; + } } - # # set_input( $string ) # -- 2.11.4.GIT