新しいDebinをインストールすると、Perlソルバーはデフォルトでインストールされます(つまり、他のPerlパッケージはまだありません)。ただし、次のことを試してください。
$ls
a.cpp b.cpp
$ perl -e 'system "g++ -o a.out a.cpp b.cpp"; exec "a.out"'
出力がありません(エラーなし、なし)。 Perlはコマンドを正しく使用しますsystem
(つまりa.out
実行可能ファイルを生成します)、分岐できません。なぜ?
ベストアンサー1
答えは嘘です出荷書類ビーチexec
しかし、自分が探しているものがわからないと確認するのは難しいです。
LISTに複数のパラメータがある場合、execvが呼び出されます。血(3)LISTのパラメータを使用してください。 LISTに要素が1つしかない場合は、引数にシェルメタ文字が含まれていることを確認します。そうであれば、引数全体が解析(...)のためにシステムのコマンドシェルに渡されます。引数にシェルメタ文字がない場合は、単語に分割され、execvに直接渡されます。血(…)。
すべての場合において、コマンド名は(Perlまたはシェルを介して)パスルックアップのターゲットです。その名前が含まれていない場合は、通常、現在のディレクトリを含まない/
コマンド検索パス()で検索されます。$PATH
に変更
exec "./a.out"