%seen = ();
for $element (keys(%foo), keys(%bar)) {
$seen{$element}++;
}
@uniq = keys %seen;
Or more succinctly:
@uniq = keys %{{%foo,%bar}};
Or if you really want to save space:
%seen = ();
while (($key) = each %foo) {
$seen{$key}++;
}
while (($key) = each %bar) {
$seen{$key}++;
}
@uniq = keys %seen;