[解決済み】Perlのバックティック、system、execの違いは何ですか?
質問
どなたか教えてください。Perlでは、何が違うのでしょうか。
exec "command";
そして
system("command");
そして
print `command`;
シェルコマンドを実行する方法は他にもあるのでしょうか?
どのように解決するのですか?
エグゼクティブ
はコマンドを実行し
を返さない
.
まるで
return
ステートメントを関数内で使用します。
コマンドが見つからない場合
exec
は偽を返します。
もしコマンドが見つかれば、それは決して真を返さないからです。
を返す意味もない。
STDOUT
,
STDERR
またはコマンドの終了ステータスを表示します。
これに関するドキュメントは
perlfunc
,
というのは、関数だからです。
システム
はコマンドを実行し、コマンド終了後、あなたのPerlスクリプトは継続されます。
戻り値は、コマンドの終了状態です。
これに関するドキュメントは
perlfunc
.
バックトラック
のように
system
はコマンドを実行し、Perlスクリプトはコマンドの終了後に継続されます。
とは逆に
system
の場合、戻り値は
STDOUT
コマンドの
qx//
はバックティックに相当します。
これに関するドキュメントは
perlop
とは異なり
system
と
exec
は演算子である。
その他の方法
上記で欠けているのは、コマンドを非同期で実行する方法である。
つまり、Perlスクリプトとコマンドは同時に実行されます。
これを実現するには
open
.
を読み取ることができます。
STDOUT
/
STDERR
に書き込みます。
STDIN
を指定します。
ただし、プラットフォームに依存します。
また、この作業を簡単にするためのモジュールもいくつかあります。
それは
IPC::Open2
と
IPC::Open3
と
IPC::Run
と同様に
Win32::Process::Create
Windowsの場合
関連
-
Perlで警告や例外を捕捉してログに書き込む
-
EditPlusでPerlの開発コンパイル環境を設定する
-
ディレクトリ内のファイルを再帰的に走査するためのPerlスクリプト
-
Tesseract-OCRを使用したPerl Captcha認識チュートリアル
-
Perlの特殊な組み込み変数の詳細
-
Perlのハッシュの解析例
-
File::Basename を使用してファイル拡張子を取得する Perl コード
-
[解決済み] Perlからロケール設定の警告を修正する方法
-
[解決済み] 最近のPerlはなぜデフォルトでUTF-8を避けるのですか?
-
[解決済み】Perlの@INCはどのように構築されているのでしょうか?(別名、Perlモジュールが検索される場所に影響を与えるすべての方法は何ですか?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン