david Greenhalgh <[EMAIL PROTECTED]> asked:
: 
: Been banging my head on this, I'm obviously missing
: something obvious, but I can't see what. Would someone
: put me out of my misery?
: 
: My code checks the value of a variable $status.
: $status can have three values, 0,1,2. 0 is good, 1
: and 2 are errors. So:
: 
: use strict;
: 
: if ($status) {
:       error($status);
: }
: 
: < DO STUFF>

    Comments in perl begin with #, not <
Perl probably thinks you're referring to a
file handle in angle brackets.

: sub error {
: 
: <Print top half of a HTML page>
: 
:       if ($_[0]=1) {

    '=' is an assignment operator. You're testing if
$_[0] can be set equal to 1. Guess what? It can! It
will always be true.

        if ( $_[0] == 1 ) {

:       <print rest of the page with the error 1 message>
:       }
:       else {
:       <print rest of the page with the error 2 message>
:       }
: }
: 
: With all of the sub definition commented out the code
: checks OK with perl -cT (Q. should that happen if I
: call a sub that I comment out when I'm using strict?)

    -c checks syntax, it doesn't check to see if the
error sub was defined.

: But with the sub definition back in, perl -cT throws 
: up a  syntax error at sub error {,

    The previous line doesn't end with ';'.


: and another syntax error at if($_[0]=1){

    This is because warnings is on (see above).

HTH,

Charles K. Clarkson
-- 
Head Bottle Washer,
Clarkson Energy Homes, Inc.
Mobile Home Specialists
254 968-8328






-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to