第2章「数と文字列」

第1章は割愛。第2章はサラッと。

数と変数

  • 変数名の先頭には$がつく
  • printを使うと、標準出力に出力できる
  • 変数を初めて使うときにはmyをつける
  • =演算子を使うと、右辺を左辺に代入できる
  • 変数名は何を表しているか分かりやすいように決めよう
  • #から行末まではコメント
  • 二重引用符中に変数名を書くと展開されて文字列化される。そうしたくない場合はバックスラッシュでエスケープする。
  • 一重引用符中に変数名を書いても展開されない
  • 加減乗除にはそれぞれ+,-,*,/の演算子が使える。剰余演算には%が使える。
  • 演算の優先順を決めるのにカッコとコッカを使える
  • 0で除算するとエラー。0の剰余もエラー。
  • 累乗の演算子は**
  • インクリメントには++、デクリメントには--が使える。(後置記法のみ?)

文字列と変数

  • 文字列のリテラルは二重引用符または一重引用符で囲む
  • 改行文字は\n
  • 文字列を連結するには.演算子を使う
  • printは複数の引数をカンマで並べて書ける
  • 文字列から数値、数値から文字列へは必要に応じて勝手に変換されるので、変数の中身がどっちなのかはあんまり気にしなくていい。
  • sprintfを使うと書式を指定して文字列化できる
  • 16進数を表す文字列を数値に変換するには関数hexを使える
  • 8進数を表す文字列を数値に変換するには関数octを使える

文字列処理関数

  • 部分文字列を取得するにはsubstr関数を使える
  • 部分文字列の検索にindex関数およびrindex関数を使える
  • substr関数で置換できるけど、正規表現による置換はもっと強力。=~演算子およびs///なるものを使えばできる(詳細は第7章らしい)。

ヒアドキュメント

my $str = << "EOD";
Programming Lesson
Programming Perl
EOD

とすると、

my $str = "Programming Lesson\nProgramming Perl\n";

という文と等価になる。上記のようにEODを二重引用符で囲むと、ヒアドキュメント中に書いた変数名などが展開される。一重引用符にすると展開されない。

スカラー

ここまでで取り扱った数値や文字列は「スカラー」と呼ばれる。スカラーを格納するための変数は「スカラー変数」と呼ばれることがある。スカラーにはこの他に「リファレンス」という種類の値もある(この本では取り扱わないらしい)。

分からないことなど

  • myってなんや?変数の宣言なのかな?