On Sunday 20 January 2002 21:00, Damian Conway wrote:
> Bryan C. Warnock asked:
> > Since the parentheses are no longer required, will the expressions
> > lose or retain their own scope level? (I'm assuming that whatever
> > rule applies, it will hold true if you do elect to use parantheses
> > anyway.)
>
> Err. Expressions don't have their own scope level, even in Perl 5.
They do in block conditional expressions. Try this:
#!/your/path/to/perl -w
my $x = 4;
if (my $x = 5) {
print "$x\n";
my $x = 6;
print "$x\n";
} elsif (my $x = 7) {
print "$x\n";
my $x = 6;
print "$x\n";
} else {
print "$x\n";
my $x = 6;
print "$x\n";
}
print "$x\n";
"my" variable $x masks earlier declaration in same scope at Perl/demo.pl
line 9. # the elsif masking the if
Found = in conditional, should be == at Perl/demo.pl line 9.
Found = in conditional, should be == at Perl/demo.pl line 5.
5
6
4
--
Bryan C. Warnock
[EMAIL PROTECTED]