PerlとPHPのシンタックス差異

ものすごく久し振りにPHPでコードを書く必要性に迫られているのだけど、Perlに慣れ過ぎていて些細なシンタックスで躓きまくり。

  • sub {} ではなく function() {}
  • elsif ではなく elseif
  • splitの分割パターンはquoteで与える(正規表現が必要ないならexplodeを使う)
  • eq や lt のような文字列用の比較演算子は存在しない
  • 局所変数の宣言が存在しない
  • ヒアドキュメントの記述が微妙に違う
$text = << "end_of_text";
(Perlの場合)
end_of_text
$text = <<< end_of_text
(PHPの場合)
end_of_text;

新しい言語に手を染める際は、こういう身体に染み付いてる箇所で引っ掛かるうちが辛い。いや、PHPは一時期結構やってたはずなんですけどね。