はじめまして、出口と申します。
# このMLにお尋ねしていいものか悩みましたが、出してしまいます。
# このMLの趣旨にあわなかったらごめんなさい。
CVSの"commit"コマンドをPerlのWrapperスクリプト経由で動かしています。
コマンドを実行するときに、パイプを作ってコマンドを実行します。
CVSが標準出力に表示するメッセージをパイプ経由で読み込み、
このWrapperスクリプトのメッセージとして出力しようとしています。
-------------- ここから ------------------------
#!/usr/local/bin/perl
my $command = "cvs commit .";
open (PIPE, "$command |");
while ( <PIPE> ) {
print "CVS Wrapper (INFO) : $_";
}
-----------------------------------------------------
このスクリプトは、CVSEDITORが"nedit"や"gedit"などの別
Windowで動くエディタの時には動作しますが、"vi"などの
ようにTerm上で動くエディタの時には動作せず、スクリプト
がハングしてしまいます。
"xterm -e vi"のようにして逃げようかと思ったのですが、
Xサーバなしでも動くようにしたいので、他に手はないか
どうか模索しております。(さらにメッセージは"cvs commit -m"
のようにエディタなしで動かしたくないのです。)
何とか、このWrapperスクリプトの変更だけで解決する方法は
ないものでしょうか?
(メッセージをフィルタリングしたいので、system()でCVSを動
かすのもできればやりたくないのですが・・・。)
わがままばかり言って申し訳ございませんが、お知恵をお貸しい
ただければ幸いです。
出口