This is a quirk of how many of Perl's compilation errors are handled. If "... found where ... expected" were a fatal error, then compilation would abort immediately. Making it a severe warning allows compilation to continue, possibly reporting other errors and warnings, before finally failing with the generic compilation errors message. Here's an example:
If all compilation errors were fatal, you'd just get: String found where operator expected at tmp.pl line 4, near "prnt "Hello"" But perl actually provides more:if ($x) { prnt "Hello"; } elseif { print "Goodbye" $x = 1; }
This does have its drawbacks, as you've found. However, you should make sure your scripts compile before running them from the browser, which would avoid the problem you are having.String found where operator expected at tmp.pl line 4, near "prnt "Hel +lo"" (Do you need to predeclare prnt?) syntax error at tmp.pl line 4, near "prnt "Hello"" elseif should be elsif at tmp.pl line 5. Scalar found where operator expected at tmp.pl line 7, at end of line (Missing semicolon on previous line?) syntax error at tmp.pl line 7, near "$x " tmp.pl had compilation errors.
In reply to Re: Re: Re: Re: Gettin ALL errors with carp module
by chipmunk
in thread Gettin ALL errors with carp module
by nysus
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |