in reply to Re: compile errors
in thread compile errors

If I am not mistaken, that removes even the first instance of any entry that has a duplicate. Usually one wants to remove only subsequent entries, leaving the first. For that, cache the count on the fly:

sub uniq { my %cache; return grep { not $cache{$_}++ } @_ }
print join " ", uniq qw(foo bar baz foo quux foo wibble bar quux wibble bongo foo dazzle);
Results:
foo bar baz quux wibble bongo dazzle