|Problems? Is your data what you think it is?|
'-' is used in numeric subtraction; '>' is used in numeric greater than; both are used in numeric comparison <->.You are comparing apples & applets -- app isn't a root word so trying to compare mixes of the words with letter substitutions is fruitless.
"->" is one token. "?" is one token.
to disassemble -> into components doesn't make sense anymore than disassembling words into letters and having re-use of the letters mean something related.
I'm practicing standard grammatical rules taking a "world" the ->", meaning something being pointed to, -- using it's standard meaning, and making a compound word by combining it with "?" -- a standard operator meaning only do the next thing if the left-operand is true, else do a false case. I'm not changing the meanings of any of the operators of subdividing operators, I combining whole operators and using their meanings as they are used in perl.
? evaluates the left operand, and, if it is true (i.e. !0 && ! undef), then do the action to the right, namely using the defined base, give me the offset @ "->offset".
In the false case, it is a constant- "undef", so it doesn't need to be stated.
You are trying to take the letters that compose words and mix and match them with other letters and expecting them to make sense on some level related to their original usage. That is absurd.