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

Perlのif文はC言語のif文に似ている

Perlのif文は、C言語のif文を参考にしており、似ています。

Perlのif文

Perlのifです。

# Perlのif文
if ($flag) {
  
}
elsif ($flag) {
  
}
else {
  
}

C言語のif文

C言語のifです。

// C言語のif文
if (flag) {
  
}
else if (flag) {
  
}
else {
  
}

Perlのif文とC言語のif文の比較

Perlのif文とC言語のif文を比較してみましょう。「()」や「{}」の使い方は同じですね。スコープも同じ範囲ですね。ifとelseというキーワードは同じですね。

一つだけ違うところがありますね。Perlが「elsif」でC言語が「else if」となっています。これは、書き間違えやすいので注意しましょう。

どうして「else if」ではないのかという答えは、Perlの作者のラリー・ウォール氏がそう決めたからです。

C言語のif文で条件分岐を覚えたらPerlで、その文法と概念をPerlで使える

elsifを除いて、PerlとC言語のif文は、そのまま同じです。これは、PerlがC言語の文法を参考にして作られたからです。

基本情報処理試験やUnix/Linux環境の開発でC言語を学んだエンジニアの方、大学の1年生のソフトウェアの授業でC言語を学んだ学生の方は、その知識をそのまま生かすことができるので、Perlの学習コストは低いものとなっています。知識を流用できるということは、覚えることが少なくてよいということだからです。

PerlとC言語の他の類似点

この記事では、Perlのif文がC言語と似ているということを書きましたが、Perlのfor文、while文、インクリメント/デクリメント、演算子の種類と優先順位、スコープ、参照概念も、C言語と似ています。