You could require them to pass the args as a single string i.e., is quoted, then check @ARGV. If it has more than 1 element, you know they did not execute the script correctly and you (the script) should then die.
That will catch most of the * shell expansion issues, but not all.
In reply to Re^3: Detect * in arguments
by fishmonger
in thread Detect * in arguments
by sans-clue
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |