Hello Monks,
I've been stumped by a little problem.
I have a subroutine RDup ( remove duplicates )
sub RDup
{
my @arrays = sort @_;
my @temp = ();
my %Seen = ();
foreach my $elem(@arrays)
{
next if $Seen{$elem}++;
$elem = join(" ", split " ", $elem);
push @temp, $elem;
}
return @temp;
}
This sub takes in an array, obvisously.
If I creat an array @t1 = ("z", "a", "r", "a", "a"); It sorts and removes the duplicate entries file.
But I have some code that is searching for dll names and if found, pushes it on an array.
foreach $d(@dllExeLines)
{
if( $d =~ m/$serviceName/ )
{
foreach $f( split /,/, $d )
{
if( $f =~ /$dll/igcgxm )
{
push @unique, $dll; }
}
}
}
RDup(@unique);
When I pass in @unique, the duplicates are not removed.
What am I doing wrong, and not understanding here in Perl.
There must be a difference in what is placed on an array.
I've tried everyting I can think of, but nothing works.
Thanks.