#!/usr/bin/perl -w use strict; use warnings 'all'; my @arr = ( 1, 2, 3, 1 ); my %saw = ( ); my @unique = grep { ! $saw{$_}++ } @arr; use Data::Dumper; warn Dumper( \@unique );