OK. I'll adopt -T as an idiom for my filters and will add an update to the OP. It'll at least curb the magic. Thanks :)
BTW, suppose you, and all the other people in this thread who agree with you, manage to eliminate magic open because it's too dangerous if someone runs a program using magic open with a shell expanded '*', what's next? Eliminate Getopt::*? Because that could also do unexpected things if such a program is run with a shell expanded '*'.
No. Suppose agreement is in order, fix the problem upstream, not downstream. Curb the magic because 2-argument open is a known source for exploits. Fix it in the core.