Why do many CLI apps take a single “--” argument?

view story

http://unix.stackexchange.com – There are many command line tools that take a single "--" argument. For example: gem install mysql -- —–with-mysql-config=/usr/local/mysql/bin/mysql_config It seems to be used as some kind of separator. Does it have a special meaning? Is it a commonly used idiom? If so, what's its purpose? PS: I'm not talking about arguments of the form --argument, I'm talking about when you have a -- followed by white characters and other arguments. (HowTos)