Help for this page
use Carp (); sub log_error { goto(&Carp::carp) if pop(@_) >= THRESHOLD; }
sub DEBUG () { 0 } sub FATAL () { 4 } ... sub THRESHOLD () { 0 } log_error($msg) if FATAL >= THRESHOLD;
use Carp (); ... log_error($msg) if DEBUG; # Whole statement removed at compile time. log_error($msg, WARN); # Calls log_error, but not carp. log_error($msg, FATAL); # Calls log_error and carp.