Perl があれば awk はいらない?
perl を使うようになれば awk はいらないか? - okky の日記
ここまでは同意。(僕はあんまり awk は使えんけど)。
だけど、その理由はぜんぜん納得できないよ。
まず、a)、
Perl がデフォルトでついてこない環境なんて、今時ほとんど無いのではないか、と思う。「Perl がついてない環境」の代名詞的存在だった(と僕が勝手に思っているだけかも) Solaris だって、Solaris 8で Perl 5.0がついてくる。BSD(って言っても FreeBSD しか分からんけど)も確かにデフォルトではついてこないけど、ちょっと ports を入れれば依存関係でもれなく入ってしまうだろう。Linux も商用(ってもこれも SuSE と RedHat しか分からんけど)なら付いてくるよね。
次に b) なんだけど、まったく意味不明なんですけど...。
もし僕が侵入者だったら、侵入に成功したら root パスワードを狙う。それがダメならローカルユーザのもっとも脆いパスワードを奪って、他のマシンへの進入し、root パスワードを狙い...。ってな感じになると思う。
何が言いたいかというと、侵入されたら終わり。間違いなく root を取られ、マシンのコントロールを握られる。Perl があろうが無かろうが関係ない。インストールすれば良いのだから。
確かに、
お客様は「Perlなしでもできる事は Perl なしでやってくれ。どうしても、本当に無理だと判ってから、Perlを入れるかどうか判断しよう」と言う。
こう言うお客さんはいる。けど、「無理だと判ってから」とまで言ってくれるのなら、Perl を入れさせてもらったほうがいいと思う。「Perl は絶対禁止!」とか言われたら、「をいをい、まぢかよ orz」と sh/awk スクリプトを組まざるを得ないけど。
昔同僚がこの制限を食らって、苦労してたなぁ...。
# ちょっと笑えるのが、制限が「/usr/bin 配下のコマンドなら良い」って、perl も /usr/bin なんですけど...。(この案件は Solaris)
僕の場合、awk を使う機会がある理由は簡単。「Perl は言語、awk はコマンド」というルールにしているから。逆に sh スクリプトを組むときは perl を呼ばないようにしている。それをやったら「sh でやれる」と見越した自分に対して、負けだから。負けを認めず、根性で書き続けるか、負けを認めて Perl で書き直し。
# 今はお客さん向けに作ることは無いから、決定権は基本的に自分
相手がお客さんだと、どうにもならないことはあるけど、ちゃんと説明/説得してから諦めたほうがいいと思うんだよなぁ。
正しい道具を使えないのはエンジニアとして不幸だし、構築側が不幸になるのは、巡りめぐってお客さんの不幸でもあるのではないか、と思うのだけど。