#!F:\Perl\bin\perl -w
use strict;
use Data::Dumper;
#Remove duplicates from array.
my @array = qw/10 20 20 20 30 40 40 40 50 50 50/;
print "\n Duplicate array: @array";
1) Good
my %hash;
$hash{$_} = 0 for (@array);
# $hash{$_} = () for (@array); #You can do this also
my @final = keys (%hash);
print "\n Unique Array: @final";
print "\n";
2) Best of all
my %hash = map { $_ , 1 } @array;
my @uniq = keys %hash;
print "\n Uniq Array:", Dumper(\@uniq);
3) Costly process as it involves 'greping'
my %saw;
my @out = grep(!$saw{$_}++, @array);
print "\n Uniq Array: @out \n";
use strict;
use Data::Dumper;
#Remove duplicates from array.
my @array = qw/10 20 20 20 30 40 40 40 50 50 50/;
print "\n Duplicate array: @array";
1) Good
my %hash;
$hash{$_} = 0 for (@array);
# $hash{$_} = () for (@array); #You can do this also
my @final = keys (%hash);
print "\n Unique Array: @final";
print "\n";
2) Best of all
my %hash = map { $_ , 1 } @array;
my @uniq = keys %hash;
print "\n Uniq Array:", Dumper(\@uniq);
3) Costly process as it involves 'greping'
my %saw;
my @out = grep(!$saw{$_}++, @array);
print "\n Uniq Array: @out \n";
No comments:
Post a Comment