Linux/Unixのsedというコマンドによく似ていますね。's/foo/bar/'sedですべて置換する場合のオプションもPerlと同じです。's/foo/bar/g'Perlはsedの表現を参考にしているPerlというプログラミング言語のひとつの利点は、Linux/Unixで学んだものが、表現が概念をそのままPerlで、使えるということです。Perlの置換の正規表現の場合も、Linux/Unixで慣れ親しんだsedコマンドの使い方を知っていれば、それをそのままPerlプログラミングで使うことができます。Linux/Unix環境で、シェルスクリプト、sed、awk、C言語を学んだユーザーにとっては、Perlの学習コストは、とても低いものになっています。大学1年生のソフトウェアの授業で、C言語とUnix/Linuxサーバーについて、学ぶことと思います。C言語の文法を学習して、grep、sed、awkなどのLinuxコマンドを少し学びます。C言語とUnix/Linuxサーバーについての知識があれば、Perlでは、使い方や概念を、そのまま活用することができるので、学習コストが低いのです。Perlは学習コストが高いと誤解していませんでしたか。ソフトウェアエンジニアにとっては、C言語とUnix/Linuxサーバーの知識の学習は必須項目ですね。その知識がしっかりしていれば、Perlの使い方を覚えるのに、1か月もかかりません。他の分野で覚えた概念がPerlでそのまま活用できるからです。sedの使い方がほぼそのまま使えるというのも、「ユーザーが見慣れた表現は使いやすい」というPerlの哲学に基づいています。Perlは「つぎはぎだらけ」と批判する人たちは、Perlを否定的に語ります。Perlユーザー自身も、当たり前すぎて、Perlの使いやすさの秘密を、はっきりと理解していません。実際は、Perlの側から事実に基づいた評価を行うと、Perlは、Unix/Linuxとの親和性に非常に配慮した設計になっているといえるのです。