--
On Fri, 12 Apr 2002 18:27:11
abigail wrote:
>On Fri, Apr 12, 2002 at 04:42:07PM +0100, Piers Cawley wrote:
>> [EMAIL PROTECTED] writes:
>> >
>> > Why isn't
>> >
>> > if %foo {"key"} {print "Hello 1"}
>> >
>> > equivalent with the perl5 syntax:
>> >
>> > if (%foo) {"key"} {print "Hello 1"}
>> >
>> > Which keyword is it expecting?
>>
>> Keyword /els(e|if)/, or end of line, or semicolon. Sorry badly phrased
>> on my part. The closing brace of {"key"} only ends the statement if it
As i understand it (Tell me if I'm wrong) This
%hash {key};
will not work, because space between the hashname and the brace was no longer allowed.
This allows for
if %hash{key} { ... }
and also
if $scalar { ... }.
The only other white space rule is that white space after the closing brace of a
closure, when that closure is the last argument of a user defined sub get's treated as
a semicolon if there is nothing else on that line. This allows custom iterators to
parse (or appear to parse) like builtins.
myforeach @arry, %hash, $scalar {
...
}
#No semicolon required!
What problems does this seem to cause - I don't see anything wrong. I don't see how
(except in the case of closure as last argument) how it matters one way or another
what kind white space appears between tokens.
What am I missing?
-Erik
Is your boss reading your email? ....Probably
Keep your messages private by using Lycos Mail.
Sign up today at http://mail.lycos.com