1. ホーム
  2. perl

[解決済み] Perl のフラグ -pe, -pi, -p, -w, -d, -i, -t?

2022-10-01 11:14:20

質問

Perl のコードやスクリプトを、さまざまなフラグで実行する方法をたくさん見てきました。しかし、私はそれぞれのフラグが何を意味するのかについてググろうとすると、私は主に一般的なPerlサイトへの結果を得て、フラグやその使用に関する特定の情報はそこに見いだされません。

以下は、私が最も頻繁に遭遇するフラグで、それらが何を意味するのか見当もつきません。

  • パール -pe
  • パール -pi
  • パール -p
  • パール -w
  • パール -d
  • パール -i
  • パール -t

それぞれの意味と使用例、あるいは少なくともその意味を知る方法を教えていただけるとありがたいです。

どのように解決するのですか?

そう、Googleは句読点を調べるのが苦手で、残念ながらPerlの は行います。 はほとんど句読点で構成されているようです :-)

コマンドラインスイッチは、すべて perlrun . (コマンドラインから perldoc perlrun )

オプションについて、ひとつひとつ簡単に説明します。

-p: コマンドの周囲に印刷ループを配置し、標準入力の各行に作用するようにします。
    行で動作するようにします。主に、Perl がパワーとシンプルさの点で awk を打ち負かすために使われます。
    が awk をパワーとシンプルさの点で打ち負かすために使われます :-)
-n: コマンドの周囲に非印刷ループを配置します。
-e: e: プログラムをファイルではなく、引数として提供します。
    e: プログラムをファイルではなく引数として与えることができます。Perlのちょっとした一発芸のためにスクリプトを作成する必要はありません。
    ファイルを作成する必要はありません。
-i: 入力ファイルをインプレースで変更する(元のファイルのバックアップを作成する)
    元のファイルのバックアップを作成します)。コピー、オリジナル削除、リネーム}のプロセスを経ずにファイルを修正するのに便利です。
    delete-original, rename} 処理をせずにファイルを修正するのに便利です。
-w: いくつかの警告を表示します。Perlの優秀なプログラマーなら誰でも使っているはずです。
-d:Perlデバッガで実行します。Perlコードのデバッグ用です。
    Perlコードのデバッグに最適です。
-t: ある種の "tainted" (怪しげな) コードを警告として扱います (適切な taint モードはこの怪しげなコードでエラーになります)。
    taintモードはこの怪しいコードでエラーになります)。Perlのセキュリティを強化するために使用します。
    Perlのセキュリティを強化するために使用します。
    特に、setuid スクリプトや web のような他のユーザのためにコードを実行するときに、Perl のセキュリティを強化するために使用されます。