in reply to Re^2: Need help with binding event in Tk
in thread Need help with binding event in Tk

Check perlop. '?:' has higher precedence than '=', so your code is equivalent to:
( ($key eq "year") ? &show($bros->{$data}->[$list]) : $index ) = 0;
And since you didn't want to return any value (not even an lvalue) from the '?:' operator, you would have been better off using a conventional if (...) {...} else {...} construct. Using '?:' in a void context can be confusing to a maintenance programmer.