e is ${#varname}, which returns the length of the value of the variable as a character string. For example, if filename has the value fred.c, then ${#filename} would have the value 6.
The other operator (${#array[*]}) has to do with arr... han zero counts back from the end of the expanded value of $param.
When a negative `offset' begins with
operations and comparisons on variables
#+ whose value consists of all-integer characters.
# Caution ad... tring has not been initialized, it has no defined value.
# This state is called "null" (not the same as z