This documentation never really explains the logic behind $short_options and just expects that you get it from reading the examples.
So if you are like me and start to think that the order of letters between the ":" characters has anything to say, think simpler.
It really is...
- every letter in the string will be allowed as a parameter,
- if that letter has ONE colon after it, then it will require a value
- if it has TWO colons, then it can accept a value
- the order of the letters does not matter at all as long as the colons are where they belong.
That means that these two examples are the same: "ab::c:def:" <-> "adec:f:b::"