It has programmable command completion, configured by a builtin called 'complete'. 'complete -p' shows the full list and 'complete -p perl' shows it calls a bash function called _perl to offer options. 'declare -f _perl' confirms this.

It seems to be quite clever, but clearly not what you want. If you need the -c before your command, then I think the bash completion hasn't been configured smart enough.

Wade.