#!/bin/cat # Author: Hugh Sasse # Data: 17-AUG-2000 # Ruby can make really intelligent use of the #! line, as this # session within a C Shell (/bin/csh) shows: brains hgs 36 %> chmod u+x !$ chmod u+x ./t.rb brains hgs 37 %> !. ./t.rb solaris brains hgs 38 %> ruby !$ ruby ./t.rb solaris brains hgs 39 %> ksh $ ./t.rb solaris $ exit brains hgs 40 %> sh $ ./t.rb solaris $ exit brains hgs 41 %> sh t.rb t.rb: print: not found t.rb: O,: not found brains hgs 42 %> ksh t.rb $^O, brains hgs 43 %> python t.rb File "t.rb", line 2 print $^O, "\n"; ^ SyntaxError: invalid syntax brains hgs 44 %> csh t.rb Variable syntax No point in testing this on perl, it is already a perl program. We can test perl being passed a ruby program: brains hgs 57 %> perl self_print #!/usr/local/bin/ruby DATA.rewind print DATA.readlines __END__ brains hgs 58 %> This is with Python 1.5.1 , Ruby 1.4.4, Perl 5.005_03