• ベストアンサー

pl内から別のplの実行

requireとかサブルーチン化にしたりしないで、例えばただ単に01.plが終了した後に02.plを実行させる命令ってperlにありますか?

質問者が選んだベストアンサー

  • ベストアンサー
noname#151056
noname#151056
回答No.1

どういう目的なのかが読めなかったのですが、、、 たとえば 01.pl の最後に system("perl 02.pl"); とつければ、実行場所やパス設定にもよりますが 実現可能かと。。。 プロセスが二つ立ち上がっちゃうから system より exec のほうがいいのかな? どちらにしてもあまりかっこよくないですね。(^^;

mune
質問者

補足

ありがとうございます。できました。 ついでにここで質問してしまうのですが、例えば01.pl内でグローバル変数に値を設定しても02.plへは引き渡されないのですが... そのような時には、やはりサブルーチン化したほうが良いってことなのでしょうか?

その他の回答 (2)

noname#151056
noname#151056
回答No.3

補足に対する回答ですが、 一度 perl を起動し、その中からまた別の perl を起動しているので、 01.pl と 02.pl の実行は別プロセスになりますから グローバル変数の値は当然引き渡されませんよね。 01.pl 内で require で 02.pl を読み込みば引き渡されます。

noname#9414
noname#9414
回答No.2

回答ではなくてすみません。 サブルーチン化した方が、後々使うことが出来る ので、効率はいいと思うのですが・・・ 回答の方はtty様のがいいと思います。 ではでは☆

関連するQ&A

専門家に質問してみよう