I do not remember where I read this, but for some time I thought it was always a better convention to follow the “shebang”, #!, interpreter directive with a space before specifying your binary to be executed by the OS, for example:
#! /usr/bin/env perl -cw ...
This caveat was brought up by a colleague of mine while looking at a perl script of mine. They had never seen someone beginning their script with a space in between the “shebang” and the slash and thought it unconventional, which it probably is. But, according to Dennis Richie (RIP) via wikipedia it is harmless and does not matter if there is a space or not:
at the left margin of the first line of your shell scripts.
Blanks after ! are OK. Use a complete pathname (no search is done).
At the moment the whole line is restricted to 16 characters but
this limit will be raised.
See Also (Blank after #! required?)