If you write a program in Perl, your colleague writes a program in Tcl/Tk and your company runs an open source program that's written in Python, how do your users ensure that they get the right interpretter to run the program? You certainly don't want them to have to remember to type something like:
perl bestest
tcl greatprog
python goodprice
On systems running a
Microsoft Windows operating system, you can simply give the programs appropriate extensions - .pl for Perl, .tcl for Tcl and .py for Python in my examples and - provided that the registry is set up correctly - the operating system will know which language interpretter to use.
On systems running
Linux or Unix based operating systems, you have two steps to take:
a) The very first line of the file should start # - ! - then the full path to the executable language - typically:
#!/usr/bin/perl
#!/usr/bin/tclsh or #!/usr/bin/wish
#!/usr/bin/python
b) The file should be marked as being executable - normally done using the chmod command. Examples:
chmod ug+x bestest
chmod a+x greatprog
chmod 550 goodprice
On
all systems you might also want to update the path that the operating system looks in for executable files using the PATH environment variable. Setting of this variable depends on which (if any) command line interpretter you're using. If you don't set the path, you can still run the program by double clicking it (windows explorer) or prefixing the file name with ./ to run it on Unix or Linux. Thus:
./bestest
./greatprog
./goodprice
(written 2005-05-29, updated 2006-06-05)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
P203 - More about the Perl Environment [2876] Different perl examples - some corners I rarely explore - (2010-07-18)
[1865] Debugging and Data::Dumper in Perl - (2008-11-02)
[748] Getting rid of variables after you have finished with them - (2006-06-06)
[743] How to debug a Perl program - (2006-06-04)
T202 - Tcl/Tk - Tcl Fundamentals [3917] BODMAS - the order a computer evaluates arithmetic expressions - (2012-11-09)
[2442] Variable storage - Perl, Tcl and Python compared - (2009-10-08)
[1469] Curley brackets v double quotes - Tcl, Tk, Expect - (2007-12-12)
[1426] Buffering up in Tcl - the empty coke can comparison - (2007-11-10)
[1282] Stringing together Tcl scripts - (2007-07-29)
[1136] Buffering output - why it is done and issues raised in Tcl, Perl, Python and PHP - (2007-04-06)
[782] Converting between Hex and Decimal in Tcl - (2006-06-28)
[362] The ireallyreallywanna operator - (2005-06-28)
[349] Comments in Tcl - (2005-06-16)
[210] Joining lists in Tcl. Indirect variables in Tcl. - (2005-02-12)
[3] Looking for a donkey - (2004-08-05)
Y102 - Python - Fundamentals [3886] Formatting output - why we need to, and first Python example - (2012-10-09)
[3551] Some terms used in programming (Biased towards Python) - (2011-12-12)
[3278] Do I need to initialise variables - programming in C, C++, Perl, PHP, Python, Ruby or Java. - (2011-05-05)
[3181] Beware - a=a+b and a+=b are different - Python - (2011-02-23)
[3083] Python - fresh examples from recent courses - (2010-12-11)
[2778] Learning to program in Python 2 ... and / or in Python 3 - (2010-05-24)
[2368] Python - fresh examples of all the fundamentals - (2009-08-20)
[1878] Pascals Triangle in Python and Java - (2008-11-10)
[1461] Python - input v raw input - (2007-12-06)
[1448] Question on division (Java) - Also Perl, PHP, Python ... - (2007-11-28)
[1430] Integer v float - Python - (2007-11-12)
[956] Python security - trouble with input - (2006-11-30)
[633] Copying a reference, or cloning - (2006-03-05)
5577
Some other Articles
Looking up IP addresses08:45 is a difficult timeAn O level comes in handythe Stately Homes of EnglandMaking programs easy for any user to startHow far should our support goUK Tax payment totals and where the money is spentGone Racing - Larkhill, WiltshireThe backtick operator in Python and Perl1 in 48 steel