15 &make_verbose
($minlevel, $_, (caller)[0]);
21 &make_verbose
($AUTOLOAD, (caller)[0]);
26 my ($minlevel, $name, @args) = @_;
28 print "+ $name(@args)\n" if ($level >= $minlevel);
33 no warnings qw(redefine prototype);
34 my ($minlevel, $sym, $pkg) = @_;
35 $sym = "${pkg}::$sym" unless $sym =~ /::/;
37 $name =~ s/.*::// or $name =~ s/^&//;
38 my ($sref, $call, $proto);
42 $proto = prototype $sref;
44 $call = "CORE::$name";
45 $proto = prototype $call;
47 $proto = '@' unless defined($proto);
48 my $code = "package $pkg; sub ($proto) { Verbose::debugcall($minlevel, \"$name\", \@_); $call(\@_); }";
49 *{$sym} = eval($code);