```{index} single: uniqnum; List::Util function ``` ```{index} single: List::Util::uniqnum; Perl function ``` # uniqnum Remove subsequent duplicates by numerical equality, preserving order. ## Synopsis ```perl my @subset = uniqnum @values; my $count = uniqnum @values; # scalar context — count only ``` ## What you get back In list context, the unique numerical values in first-seen order. In scalar context, the count. `undef` is treated as `0` and coerced to `0` in the output (matching upstream's numerical handling). `+0.0` and `-0.0` are treated as equal. Every `NaN` is treated as a duplicate of every other `NaN`, despite `NaN != NaN`. ## Examples ```perl my @u = uniqnum 1, 1.0, '1', 2; # (1, 2) my @u = uniqnum 0, -0.0; # (0) my $n = uniqnum 1, 2, 3, 2, 1; # 3 ``` ## Differences from upstream Fully compatible with upstream. ## See also - `uniq` — string-equality deduplication. - `uniqint` — integer-equality deduplication (ignores fractions).