Given -
#!/usr/bin/perl -w
# use strict; # use diagnostics; # use warnings;
my @strings = ( q(my $bad_syntax = ;), q('a poorly 'nested' string'), q('a poorly 'nested::test' string') );
foreach (@strings) { # no warnings; eval; }
print "\n\nProgram exited normally...";
Results:
Bareword found where operator expected at (eval 3) line 1, near "'a poorly 'nested::test"
(Missing operator before nested::test?)
String found where operator expected at (eval 3) line 1, near "nested::test' string'"
Program exited normally...
Reasoning:
Each 'eval' (of the three only two are invalid) are the only portion of the script which is dying - and rightly so - but this "death" doesnt propagate to the main logic.
So, my question now is -- Why is this a bug? -Sx-
PS -
#!/usr/bin/perl -w
use strict; use diagnostics; use warnings;
$_ = ( q(my $bad_syntax = ;) );
# no warnings; eval;
print "\n\nNormal Program Exit\n\n";
-- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>