in reply to Re: warnings within eval{}
in thread warnings within eval{}

I was testing that out and I realized something. It only gives you the exact line number of the error if you are using eval BLOCK, it gives much different (but still very useful) warnings if you are using eval EXPR
use Carp (); $SIG{__WARN__} = \&Carp::cluck; eval { use warnings; undef =~ m#1#; }; $string = q{ use warnings; undef =~ m#1#; }; eval $string; __OUTPUT__ Use of uninitialized value in pattern match (m//) at temp.pl line 5. eval {...} called at temp.pl line 3 Use of uninitialized value in pattern match (m//) at (eval 1) line 3. eval ' use warnings; undef =~ m#1#; ;' called at temp.pl line 11
That is a very handy thing to remember.

--

flounder