私は、システム担当者が管理しているマシンでPerlスクリプトを使用するプロジェクトで作業します.Perlモジュールなどのパッケージをインストールするのは簡単な作業ではありません。通常、その作業を行う権限がある人に電話をかけ、パッケージのAPIを覚えて、今までにインストールされた新しく構成されたすべてのマシンにインストールすることを忘れないでください。Perl:いつあなたはいつsystem()を使いますか?あなたはいつパッケージをインストールしますか?
多くの場合、代わりにsystem()
(またはバックティック表記``
、Perl内)を呼び出し、必要な処理を行うシェルコマンドの出力を使用します。もちろん、それはいつも可能ではありません。そして、それが使用されるとき、通常、コマンド呼び出しの周りにラッピングがありますが、一般的には簡単です。
私の質問は、あなたの経験の中でどちら側に引き離されているのですか?
編集:例を追加してください: ディレクトリの合計サイズを人間が判読可能な形式で表示するか、特定のサイズより大きいすべての通常ファイルを表示したいと考えています。du
は、同じことをしてください...
まあ、種類... –
また、デフォルト以外のディレクトリにモジュールをインストールすることができますので、特別な権限を持つ人に電話する必要はありません。 – Joel
私はいつも "シェルリング"を超えてモジュールを使いたいと思っていましたが、私はこのようなことをする反論を聞いていました:Perlは範囲外になっても変数が占有するメモリの解放を保証しないので、別のプロセスで呼び出された外部コマンドにタスクを委譲し、それによってメインプロセスのメモリフットプリントを増やさないように、長期間実行される永続的なWebアプリケーションプロセスの方が優れています。フォークのオーバヘッドのために少し効率が悪いかもしれませんが、子プロセスのメモリは、実行されるとOSによって再利用されます。 –