0

Win 7ボックスでActivePerlを使用していて、Proc ::ReliableCPANモジュールを使用したいと思います。ダウンロードして正しくインストールされましたが、次のコードを実行しようとすると失敗しました。run

my $newProc = Proc::Reliable->new()
$newProc->run("perl.exe -e print 'hello world'");

テストstatusや出力の取得など、いくつかのことを試しましたが、うまくいきませんでした。私が知る限り、プログラムはで静かに終了しrunます。

参考までに、perl.exeは私のPATH変数にあり、コマンドラインから次のように呼び出しています。perl.exe test.pl

4

3 に答える 3

4

おそらく失敗していません。 @ARGVをに設定し-e print 'hello world'てコードを実行するようにperlに指示します(または、おそらく、windows cmdquotingが''を処理する方法を忘れました)。これにより、$ _(つまり、undef)の内容がSTDOUTに出力されます。printhello world("'hello","world'")

常に警告を使用してください。ワンライナーでも。おそらく特にワンライナーで。比較:

$ perl -e print 'hello world'
$

$ perl -we print 'hello world'
Use of uninitialized value $_ in print at -e line 1.
$
于 2010-09-07T18:04:05.143 に答える
3

引用は、Windowsの「シェル」では少し異なります。ミニプログラムを単一の引数として解釈するには、次のようなものを試してください。

perl.exe -e "print qq/hello world/"
于 2010-09-07T18:44:11.533 に答える
2

モジュールの作成者に連絡しましたがProc::Reliable、彼はモジュールがWindowsで動作しないことを確認しました。

于 2012-02-23T21:01:25.153 に答える