in reply to Using -- to terminate switch processing

The one place I've used -- in the shebang line was when I was writing scripts to run under SpeedyCGI. The speedy engine takes its own command-line arguments, which it looks for after the --. So a line might look like
#!/usr/bin/perl -Tw -- -M10
but that's not exactly the end of the line.

As for putting it at the very end, I suppose that back in the days of 1200 baud modems and freaky line noise, it might have been handy for keeping any bogus noise chars from being interpreted as command-line args. But I sure can't think of any reason to do it now.