in reply to Re^11: Remove redundency from an array
in thread Remove redundency from an array
That still modifies a global variable ...or ast least, it's suppose to. I found that it doesn't modify %{''} as it should! Your code is excercising a Perl bug! This gets better all the time.
Again, easily solved by replacing
sub uinq { local $_; @_ = do { @$_{@_}=(); keys %$_ } }
with the simpler, safer
sub uinq { local %_; @_{@_}=(); keys %_ }
What's with the useless do?
What's with the useless assignment to @_?
Why use a reference when one isn't needed?
Why use a symbolic reference when one isn't needed?
Using the symbolic reference means there's now another variable to localize.
That is, if the code didn't rely on a Perl bug.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^13: Remove redundency from an array
by mwah (Hermit) on Sep 25, 2007 at 06:36 UTC |