On Feb 23, 2004, at 11:16 PM, WC -Sx- Jones wrote:

James Edward Gray II wrote:

eval() shouldn't be squawking there, as I understand it. Those look like die() statements to me too, yet the program keeps running. Hmm.


I dont know - I believe we are missing something basic prolly:

# My Version -

#!/usr/bin/perl

 use strict;
 use warnings;

 my @strings = ( q(my $bad_syntax = ;),
                 q('a poorly 'nested' string'),
                 q('a poorly 'nested::test' string') );

 foreach (@strings) {
        print "\nCode:  $_\n";

        print "\nDisabling warnings...\n";
        no warnings;

        print "Calling eval()...\n";
        eval;
        print "eval() complete.\n\n";

        print "Handling error...\n";
        print "Caught error:  $@";
 }

__END__


All I can say is while "no warnings" are in effect Perl trys to


"Do The Right Thing"

In this instance it wants to live.

I don't believe those are warning messages you are seeing. If you made the same mistake in actual code, it would not run. Those are the messages you would see on the way down. Only, it's not going down here.


This should be easy to prove to yourself. Commenting out the 'no warnings;' line has no effect.

James


-- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>




Reply via email to