$loglevel = 2; # should be set by getopt sub loglevel { my $data = shift; return $data->[1] <= $loglevel ? Dumper $data->[0] : ""; } # ... Insert some code here. $log->format(\&loglevel); $log->entry( [$some_ref, 1] ); $log->entry("We always log this!", 'standard' ); # Sticks a time and date stamp in front of text.