Great to hear!
That's not actually how its being used - I guess that I misrepresented the questin with that example. I just wanted to know if it was more proper to declare a list of local variables when you enter a block, than declaring variables to be local as you introduce them | [reply] |
sub myfunc {
my( $this, $that, @those ) = @_; # Here it may make sense to pull
# in the contents early on for
# simplicity and clarity's sake.
# Code here....
# more code here....
foreach my $alias ( @those ) { # Note we declare $alias only
# where it's needed.
# Do some stuff here.
# Do more stuff...
my $another = $alias * 5; # $another is limited to the sco
+pe
# of the foreach loop.
$this += $another;
}
while ( my $choice = shift @those ) { # Another tightly scoped var
+.
# Do something else.
}
return $this
}
This is contrived, but the idea is that I'm keeping scopes narrow, and declaring variables only where they're needed. To me, this helps to keep the declaration near where the variable is actually used, and that, in my opinion, improves readability and maintainability.
| [reply] [d/l] |