「Perl は解析が非常に得意です」という人は何を意味するのでしょうか?[閉まっている]
-
19-09-2019 - |
質問
「Perl は解析が非常に得意です」という人は何を意味するのでしょうか?
Perl は、Python や Ruby などの他のスクリプト言語と比べてどのように優れている、または強力なのでしょうか?
解決
つまり、Perl はもともとテキスト ファイルの処理用に設計されており、それを容易にする多くの機能を備えています。
- Perl には文字列処理用の関数が多数あります。
substr
,index
,chomp
,length
,grep
,sort
,reverse
,lc
,ucfirst
, ... - Perl は、値の使用方法に応じて、数値と文字列の間で自動的に変換します。(例えば。最初に文字列から整数への変換を行わなくても、ファイルから文字列「100」を読み取り、文字列「100」を追加できます)
- Perl は、プラットフォーム エンコーディングとの間の変換を自動的に処理します (例:Windows では CRLF) とプログラム内の論理改行 (「 」)。
- 正規表現は、別個のライブラリではなく構文に統合されます。
- Perl の正規表現は、パワーと機能性の「ゴールド スタンダード」です。
- Perl は Unicode を完全にサポートしています。
Python と Ruby には、テキスト処理のための優れた機能もあります。(Perl が恥知らずにも他の多くの言語から借用したのと同じように、Ruby は特に Perl から多くのインスピレーションを得ています。) どちらが優れているかを問うのはほとんど意味がありません。好きなものを使ってください。
他のヒント
Perl の長所についての記述を、別の言語の欠点についての記述と受け取らないでください。Perl はテキスト処理に適していますが、それは Ruby や Python がダメだという意味ではありません。
Perl が「解析に適している」ということについて人々が話すとき、彼らは主に Perl の歴史を反映しています。これは、高負荷のテキスト処理が容易ではなかった時代に発明されました。その一部を C または C++ で実行してみてください (Java もまだ発明されていませんでした)。当時、ラリーは sed と awk を使用して作業を行おうとしていましたが、限界に遭遇していました。彼はテキストをさらに使いやすくするツールを作成しました。
Perl は依然としてテキスト操作タスクに非常に適していますが、現在では他の多くの言語も同様です。
Perlは同様ETLやバッチ処理の動きのために良いです。これは、ファイルをピックアップして、最小限のコードです。 、split
を取得したレコードにいくつかの論理的なビジネスアクションを実行し、ディスクへの外に書き戻すmap
を通してそれをプッシュします。
私は、その後、データ解析、より多くのデータ処理だと仮定しますが、データ処理は、バルクデータ解析です。
Perlは、テキストの構文解析では非常に良いです。
それはおそらく、人々がそれが何のために作られたのかに慣れているからだと思われます。 Perl ドキュメント, そのため、多くの人にとって、テキスト ファイルの解析と Perl を関連付けることが一般的になっています。Ruby や Python を除外するわけではありませんが、私見では、Ruby や Python はよく知られている名前です。
Perl は、任意のテキスト ファイルをスキャンし、それらのテキスト ファイルから情報を抽出し、その情報に基づいてレポートを印刷するために最適化された言語です。また、多くのシステム管理タスクに適した言語でもあります。この言語は、美しい (小さく、エレガントで、最小限である) というよりも、実用的 (使いやすく、効率的で、完全である) であることを目的としています。