| 
  • If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • Introducing Dokkio, a new service from the creators of PBworks. Find and manage the files you've stored in Dropbox, Google Drive, Gmail, Slack, and more. Try it for free today.

View
 

FindEvalWarnings

Page history last edited by David B 10 years, 11 months ago

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.