Re: 便乗:DOSのbatとperlのマージ(Re: UTF82TeX...)

名前: 角藤
日時: 2006-01-05 10:38:53
IPアドレス: 61.22.48.*

>>40370 >便乗質問なんですが. perl 配布にあるサンプルです: @rem = '--*-Perl-*-- @echo off if "%OS%" == "Windows_NT" goto WinNT perl -x -S "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9 goto endofperl :WinNT perl -x -S %0 %* if NOT "%COMSPEC%" == "%SystemRoot%\system32\cmd.exe" goto endofperl if %errorlevel% == 9009 echo You do not have Perl in your PATH. if errorlevel 1 goto script_failed_so_exit_with_non_zero_val 2>nul goto endofperl @rem '; #!perl #line 15 eval 'exec C:\usr\perl\bin\perl.exe -S $0 ${1+"$@"}' if $running_under_some_shell; #!./perl # $Id: piconv,v 2.1 2004/10/06 05:07:20 dankogai Exp $ # ... ... ... __END__ :endofperl perlexec.exe は Kpathsea 対応なので、 scripts を $TEXMF/scripts/ 以下 から探すことができます: [仕様] perl, ruby, python, その他のスクリプトを実行するための perlexec.exe です。 (TeX のインストールディレクトリ)/bin にインストールされます。 使用するには例えば foo.pl (perl), foo.rb (ruby), foo.py (python) あるいは foo, foo.scr (一般) なる名前のスクリプトを perlexec.exe と同じ ディレクトリに置きます。あるいは$TEXMF/scripts/ 以下においてもよいです。 次に ln.exe と NTFS を使用しておれば ln perlexec.exe foo.exe とし、そうでない場合は copy perlexec.exe foo.exe とします。そうすると foo とするだけで スクリプトを実行することができます。 汎用に使えるでしょう。勿論 perl.exe, ruby.exe, python.exe などのスクリプト 解釈プログラムをインストールしておく必要があります。また、Kpathsearch ライブラリを使用しているので、W32TeX をインストールしておくことも必要です。 (実際に必要なのは kpathsea355.dll だけです。) script が #!prog a b ... ... のように始まっていると prog a b ... script args のように prog を実行します。従ってこの場合は、任意のスクリプト を実行できます。そうでない場合は (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 のように suffix からスクリプト実行プログラムを推定します。 foo.scr の場合は #! line が必須です。

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます)