a2p(Awk to Perlコンバータ)がデフォルトでインストールされるのはなぜですか?なぜAwkをPerlに変換したいのですか? [閉鎖]

a2p(Awk to Perlコンバータ)がデフォルトでインストールされるのはなぜですか?なぜAwkをPerlに変換したいのですか? [閉鎖]

a2p私のLinuxディストリビューションにこのユーティリティがデフォルトでインストールされていることに驚きました。

a2p変換するコマンドラインユーティリティです。アップログラム標準入力真珠出力されるプログラム標準出力

私はなぜ転換したいと思うか。アップログラム真珠プログラムがあるときアッ通訳が設置されていますか?

なぜこのようなことが起こるのでしょうか?Linuxディストリビューションはデフォルトのa2pインストールに含まれていますか?

答え1

スクリプトをより効率的にするために、これらのツールを使用できますperl

perl大きなプログラムがあり、awkサブプロセスを呼び出さずにスクリプト機能を統合したい場合は、これを行うことができます。a2p生成されたコードを呼び出して既存のPerlスクリプトに統合できます。

サブプロセスを呼び出さずにコマンドラインをfind2perl使用して同じことを行うコードを生成する同様のユーティリティがあります。findperlfind

これはスクリプト用の最適化ツールですperl

答え2

  1. なぜ基本的にインストールされていますか? :これは、使用しているディストリビューションの開発者/メンテナンス者によって異なります。

  2. なぜ必要ですか?a2p

引数が常に整数であるにもかかわらず、数値解釈を強制するために文字列式の周りにint()を配置するawkイディオムがあります。これは通常Perlでは必要ありませんが、a2pは引数が常に整数であるかどうかはわかりません。削除したいかもしれません。

Perl は数値比較と文字列比較を区別します。 Awkには、どちらの場合も実行時にどの比較を行うかを決定する演算子があります。 A2p は現在 awk シミュレーションの完全な操作を完了しようとしません。代わりに、あなたが望むものを推測します。ほぼ常に正確ですが、だまされます。これらの推測はすべて「#???」コメントとして表示されます。慎重に確認して確認する必要があります。 eqを使用する必要がある場合==を使用すると、警告するPerlの-wスイッチを使用してこの操作を1回以上実行できます。

より多くの情報を知りたい場合:A2P

関連情報