my @array = (2001,2007,5012,5011,5030,5033,5030 ); my @array2 = (2001,2007,5030,5030,5011); sub Error { my(@array1) = @_; my $fail = 0; my $success = 0; my @unique = (); my %saw = (); @unique = grep(!$saw[$_]++, @array1); print "Unique result codes produced\n"; foreach $vtr(@unique) { print "$vtr : $resultcode{$vtr}"; #resultcode is a hash containing elements of the arrays as keys } } &Error(@array); &Error(@array2);