Le Wed, May 12, 2004 at 02:00:42AM +0200, le valeureux mongueur Pedro Larroy a dit: > Hi > > Is there any chance that in perl6 there will be the possibility to write > if/else statements without {}s with the condition at the beginning? > > Like > > if (condition) > statement; > > In order not to break traditional C culture. Is there any technical > reason why it wasn't done in perl5?
In Perl5, variable declaration are an executable statement. Also the scope of a variable starts from its declaration and ends at the end of the immediately enclosing block. Things would get problematic if the branches of an if/else were not scoped. What would be the meaning of : if (condition) my $foo = 'bar'; else print $foo; Now about the syntax, it is not clear if the statement before the 'else' can/must be semicolon terminated. A similar example of stange meshing of scope and flow of control in perl5 is: my $foo = $bar if $buz; I can't even remember what it supposed to do when it is in a loop where $bar and $buz change. And I would bet that the exact semantic is not even documented in most books. -- stef > > Regards. > > -- > Pedro Larroy Tovar | Linux & Network consultant | piotr%member.fsf.org > > Software patents are a threat to innovation in Europe please check: > http://www.eurolinux.org/