use strict; use warnings; use Carp; BEGIN {$Carp::Verbose=0}; $\="\n"; use constant DBG => 1; sub dbout { $Carp::Verbose=0; carp "@_" if DBG; } dbout 1..3; __END__; #### C:/Perl_524/bin\perl.exe -w d:/PERL/perl/perl/signature.pl 1 2 3 at d:/PERL/perl/perl/signature.pl line 15. # don't need this ... main::dbout(1, 2, 3) called at d:/PERL/perl/perl/signature.pl line 18 # ... but this Compilation finished at Mon Jul 20 18:22:11 #### sub dbout { my ( undef, $filename, $line ) = caller(0); warn "@_ at $filename line $line\n" if DBG; }