Frank Geueke, III wrote:
> Hi everyone.
> Okay, so maybe this one is a silly question.  I have a
> fairly large script and I have a bunch of places where
> I'm following a reverse if with a normal else and perl
> keeps complaining about it.  It seems to make sense to
> me, but I guess its bad syntax.  Here is one of them:
> 
> display_nothing() if ($match_type eq 'none');
> else
> {
> }
> 
> Now I like the reverse if because it takes up one line
> instead of four (I like braces on their own lines -
> see else).  But this error...
>

Not really because the ";" is a statement terminator. If it is really
about the number of lines there is nothing preventing you from just
putting it all on one line.

if ($match_type eq 'none') { display_nothing(); }
else
{
}

Personally I would rather see it just written out, a couple lines make
little difference if the rest of your code is structured well.

I suppose you could also reverse the logic and then your display_nothing
would get shoved to the bottom of the whole block which is typically
what I would do, so,

if ($match_type ne 'none')
{
}
else { display_nothing(); }

Or,

unless ($match_type eq 'none')
{
}
else { display_nothing(); }

HTH,

http://danconia.org


> syntax error at
> /usr2/login/fjg/hotspot_tracker/search_by_ip_or_mac.cgi
> line 70, near "else"
> 
> ...keeps coming up.  Is there a way to keep the
> reverse if and use an else (or something like it) that
> anyone knows of?  Thanks.  ~Frank
> 

-- 
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