Perlの哲学 - Perlに対する誤解を解く

Perlはどんな風に書いても動きますか?

Perlはどんな風に書いても動きますかという質問に答えましょう。

Perlは構文木にコンパイルされる言語

Perlのソースコードは、構文木にコンパイルされます。1行実行のインタープリタではないです。

Perlとしての文法が間違っていれば、実行前に、コンパイルエラーとなります。

実際にPerlの「-c」オプションを使うと、コンパイルまでの段階だけを実行できることが確認できます。

perl -c script.pl

ですので、どんな風に書いても動きますかという質問の答えは、ノーです。

どんな風に書いても動くというのは、Perlは、文法エラーを見逃しやすいという意味です

どんな風に書いても動くというのは、Perlは、文法エラーを見逃しやすいという意味です。

もし質問がこのような意味であれば、イエスでも、ノーでもあります。

ノーと答えられる場合は、以下の二行が、ソースコードの先頭に書かれている場合です。

use strict;
use warnings;

Perlの良い慣習として、ソースコードを書く場合は(ワンライナーを書く場合を除いて)この二行を書きます。

strictは、文法を厳格にし、warningsは、見逃しやすい警告を表示してくれます。

Perlのコアチームは、Perlのバージョンが5に上がる前の段階で、Perlでは、ユーザーがミスをたくさんしてしまうという問題に気が付いていました。

そのために、Perl 5には、strictとwarningsという仕組みが導入されました。

これは、実際に成功しており、変数宣言の忘れや、未定義値を、使うべきではない場所で使ってしまうという間違いを、簡単に見つけられます。

Perl 4のころのPerlは、文法エラーを見逃しやすいというのは本当ですが、Perl 5で、strictとwarningsが有効にすれば、文法エラーを簡単に発見できます。