*Find where the eval warning is coming from:*
#!/usr/bin/perl
use strict;
use warnings; # This directive causes Perl to warn you about dubious coding
use Carp ();
# This overrides the way warnings work, "cluck"ing so you know the
# call stack at the time of the eval
local $SIG{__WARN__} = &Carp::cluck;
sub greetings { print "Hello" }
eval 'sub greetings { print "Hi" }';
*Changing the warning handler (the line local $SIG...etc) changes this:*
$ ./s.pl
Subroutine greetings redefined at (eval 1) line 1.
*To this:*
$ ./s.pl
Subroutine greetings redefined at (eval 1) line 1.
eval 'sub greetings { print "Hi" }
;' called at ./s.pl line 11
Comments (0)
You don't have permission to comment on this page.