my @data = qw(foo bar foo bar bar doz); use DB_File; use File::Temp qw(tempfile); my ($fh, $fn) = tempfile(UNLINK => 1); tie my %u, 'DB_File', $fn, O_RDWR, 0600; $u{$_} = undef for @data; @data = keys %u; print "@data\n";