%b = map { $_ => 1 }
grep defined, @a;
####
%b = map { defined ? ($_ => 1) : () } @a;
####
@a = qw( a b c d );
# Delete 1 starting at index 2.
# What used to be at index 3 is now at index 2.
splice(@a, 2, 1);
print("\@a has ", scalar(@a), "elements.\n");