C# プログラムから perl スクリプトを呼び出せるように、次のコードを動作させようとしています。XP Service Pack3 で Visual stdio 2008 を使用して開発しています。
myProcess = new Process();
ProcessStartInfo myProcessStartInfo = new ProcessStartInfo("perl.exe");
myProcessStartInfo.Arguments = @"C:\Documents and Settings\test_perl.pl";
myProcessStartInfo.UseShellExecute = false;
myProcessStartInfo.RedirectStandardOutput = true;
myProcessStartInfo.WindowStyle = ProcessWindowStyle.Hidden;
myProcessStartInfo.CreateNoWindow = true;
myProcess.StartInfo = myProcessStartInfo;
myProcess.Start();
string output = myProcess.StandardOutput.ReadToEnd();
MessageBox.Show(output);
myProcess.WaitForExit();
test_perl.pl が存在することを確認し、perl.exe を notepad.exe に変更すると、上記のコードが機能します。しかし、perl.exe を使用すると、メッセージ ボックスが空になります。
なぜこれが間違っているのか理解できません。理由がわかる方教えてください。
ありがとう