%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");