'my' being a lexical variable, has the most restrictive scope. It is
visible only in the block and it also masks out another variable of same
name defined outside the block.
However, here both equivalent. If you were only testing the hash
next unless $hash{$val};
should work equally well.
Richard Morse <[EMAIL PROTECTED]>
Sent by: [EMAIL PROTECTED]
11/13/2003 11:37 AM
To: Boston-Pm <[EMAIL PROTECTED]>
cc:
Subject: [Boston.pm] "next unless my"
Hi! I'm writing a program, and I've reached a point where it makes (I
think) to combine two lines into one. The two original lines are
something like:
my $var = $hash{$val};
next unless (defined($var));
I'm thinking that it might make more sense (given the flow of the
program at this point which is a large variety of 'next unless'
statements) to write:
next unless my $val = $hash{$val};
However, I recall at a previous Boston.pm meeting there being a
discussion about issues with 'my' in conditional clauses. I don't,
however, remember the details. Is this usage of 'my' the one that
causes the problem?
Thanks,
Ricky Morse
_______________________________________________
Boston-pm mailing list
[EMAIL PROTECTED]
http://mail.pm.org/mailman/listinfo/boston-pm
_______________________________________________
Boston-pm mailing list
[EMAIL PROTECTED]
http://mail.pm.org/mailman/listinfo/boston-pm