とあるPerlプログラムから外部のPerlプログラムファイルを呼んでいます。
外部プログラムはCGIモジュールを使ってパラメーターを受け取っています。
外部プログラムは、コマンドラインからは
perl /home/.../gaibu_hoge.pl parameter=3\&second=abc
のようにやって、パラメーターを受け取ることに成功しています。
しかし、親プログラムから
$cmd = 'perl /home/.../gaibu_hoge.pl parameter=3\&second=abc |';
open(IN, $cmd);
while (<IN>) {
...
}
close(IN);
とやった場合、動作はしているのですが、
なぜかパラメーターが渡せていません。\を取っても同じでした。
原因すらわからないような状態ですが、
このような状況を解決する方法を知っている方はおられますでしょうか。