                               runscr

perl, ruby, python, lua ̑̃XNvgs邽߂ runscr.dll 
runscr.exe łB
(TeX ̃CXg[fBNg)/bin ɃCXg[܂B
gpɂ͗Ⴆ foo.pl (perl), foo.rb (ruby), foo.py (python), foo.lua (lua)
邢 foo, foo.scr () Ȃ閼ÕXNvg runscr.exe Ɠ
fBNgɒu܂B邢$TEXMF/scripts/ ȉɂĂ悢łB
 ln.exe  NTFS gpĂ
ln runscr.exe foo.exe
ƂAłȂꍇ
copy runscr.exe foo.exe
Ƃ܂B foo Ƃ邾 XNvgs邱Ƃł܂B
ėpɎgł傤Bܘ_ perl.exe, ruby.exe, python.exe, lua.exe Ȃǂ
XNvg߃vOCXg[ĂKv܂B܂AKpathsearch
CugpĂ̂ŁAW32TeX CXg[ĂƂKvłB
(ۂɕKvȂ̂ kpathsea355.dll łB)

script 
#!prog a b ...
...
̂悤Ɏn܂Ă
prog a b ... script args
̂悤 prog s܂B]Ă̏ꍇ́ACӂ̃XNvg
sł܂B܂
#!/usr/local/bin/prog a b ...
...
邢
#!c:/usr/local/bin/prog a b ...
...
̂悤Ɏn܂ĂĂ
prog a b ... script args
̂悤Ɏs܂B܂tpX /usr/local/bin/ 
c:/usr/local/bin/ ͖܂B] prog ɂ PATH ʂĂȂ
sł܂B܂
#!/usr/bin/env perl a b ...
̂悤ɂȂĂƂ env 𖳎
perl a b ... script args
̂悤Ɏs܂B
ŝ悤Ɏn܂ĂȂꍇ
(1)
foo or foo.pl ̂Ƃ
perl foo args
perl foo.pl args
(2)
foo.rb ̂Ƃ
ruby foo.rb args
(3)
foo.py ̂Ƃ
python foo.py args
(4)
foo.lua ̂Ƃ
lua foo.lua args
̂悤 suffix XNvgsvO𐄒肵܂B

foo.scr ̏ꍇ #! line K{łB
------------------------
A. Kakuto <kakuto@fuk.kindai.ac.jp>
