in reply to Hash ref assignment to array results in anomaly

                                @optional = (@optional,$switch_optional);

and

                                @optional = (@optional,($1));

are better written as:

                                push @optional, $switch_optional;

and

                                push @optional, $1;