>  print "-------"  # must read the next line to
>                   #  figure out if new line is statement terminator or not
>    if $condition";

Yes, let's expand that example, and assume the "semicolons optional
where obvious" proposal.

sub foo
{
print "abcde"
if $condition
{
print "fghij"
}
}

Is this

sub foo
{
  # Conditionally print.
  print "abcde" if $condition;

  return sub {
    # closure, see A4
    print "fghij";
  };
}

or is it

sub foo
{
  print "abcde";   # Always print.

  if $condition {
    # Optionally print fghij right here.
    print "fghij";
  }

  return;     # No return value.
}

?

See the problem?  Optional semicolons mean that something else has to
take up the syntactic slack, in this case extra keywords or indentation.

Personally, as a Perl programmer, I *like* semicolons.  They are the
programming equivalent of the end-of-phrase markers you get in music to
tell your brain to take a breath.

-- 
Debbie Pickett http://www.csse.monash.edu.au/~debbiep [EMAIL PROTECTED]
         "You gotta bat your eyes - like this." - _The Little Mermaid_

Reply via email to