If that's the case, then why not just use the (much simpler, and easier to read) solution from this reply to the orriginal thread...my %seen =() ; @unique_array = grep { ! $seen{$_}++ } @non_unique_array ;
Oh my, that is nicer! Well, that's what's great about Perl Monks. I think I may not have understood the thread referred to: I thought there was some issue with this solution where it would fail in some case. If I misunderstood, thanks for setting it straight for me!
So the rendition of this code which can act like a *NIX filter as well as handle input as @ARGV, is (using -l to put a final NL on):
*nixprompt$ perl -le ' my %seen = (); my @ayin = $ARGV[0]? @ARGV : (<STDIN>); chomp @ayin; print join "\n", grep { !$seen{$_}++ } @ayin;'
Beautiful!
In reply to Re: Order-Preserving and Unique: List Cleanup
by Intrepid
in thread Order-Preserving and Unique: List Cleanup
by Intrepid
For: | Use: | ||
& | & | ||
< | < | ||
> | > | ||
[ | [ | ||
] | ] |