sub uniq (@) { my %seen; my $undef; my @uniq = grep defined($_) ? !$seen{$_}++ : !$undef++, @_; @uniq; }