Во-первых, чтобы выяснить, что пошло не так:
string error = perl.StandardError.ReadToEnd();
Кроме того, убедитесь, что у вас есть необходимые разрешения для создания файлов в выходном каталоге.Вы можете попытаться запустить процесс с правами администратора, чтобы выяснить, является ли это проблемой с правами доступа:
perlStartInfo.Verb = "runas";
Возможно, вы захотите запустить весь процесс хоста с повышенными разрешениями для этого.
(Это только для выяснения, является ли проблема разрешением! Если это так, предоставьте выходному каталогу необходимые разрешения и, если возможно, не запускайте автоматически сценарии с правами администратора в производственной среде.)
Также могут быть ошибки в самом скрипте perl.