|Think about Loose Coupling|
What's #! got to do with it?by Petras (Friar)
|on Jan 16, 2004 at 21:13 UTC||Need Help??|
Petras has asked for the
wisdom of the Perl Monks concerning the following question:
I was writing a script for a friend on his computer, and his perl path is different than mine, which is also different from the perl path on my server. So, I wondered, "I wonder if I can put multiple shebangs in a script to make it more portable?" Several hundred xp points ago I would have simply posted that question under SOPW, but this time I decided to try it and see if it worked (before asking ;)
I wrote a simple "Hello, world!" with multiple shebangs, and the script worked! I thought, being so basic, the program might not have even needed to know where perl is (after, the perl command should deal with that, right?). So, I went to the best node of all times and stole a much more complicated bit of code. Still worked with multiple shebangs. Good stuff.
Here's where it got interesting. I tried #! /usr/reallybadpath/perl -w for the only shebang, and the script still worked. So, I ditched the shebang all together, and the camel script still worked. Interesting.
So, is what I learned early on in perl program no longer true with the rise of Perl 5.8.x? Is a shebang still something to be all sharp and bangy about? What gives?
Don't worry about people stealing your ideas. If your ideas are any good, you'll have to ram them down people's throats.