Perlの式

  1. 定数

    1. 注釈

       行頭に # を付けると、注釈(コメント)になります。

    2. 数値定数

      言語Cと同じ表記です。

      12345   # 整数
      123.45   # 小数
      1.23E45  # 指数
      0x12345  # 16進数
      012345   # 8進数

    3. 文字列定数

      " または、' で文字列を囲います。"の場合、変数が評価されますが、'  では文字列中に変数やエスケープ文字があっても評価(展開)されず、そのまま文字列として扱われます。


       $val=7;print "val=$val"; #valは7になる
       $val=7;print 'val=$val';  #valは$valになる

      " "の中で$で始まる英数字は変数名と解釈します。変数を限定する場合、{ }で囲みます。
       "val=${val}123"

    4. エスケープ文字

      \に続く文字は特別に解釈されます。
      \t   # タブ文字
      \n   # 改行
      \r   # リターン
      \b   # バックスペース
      \e   # エスケープ文字
      \x1b  #16進文字コード

  2. 変数

    1. 変数名

      $で始まる名前は変数名として扱われます。 _ も利用できます。大文字と小文字は区別します。整数、小数、文字列の型の区別はしません。また、事前の定義なしに利用できます。

       $x = 23.4;
       $s="abc";

    2. 特殊な変数

       Perlでは、特殊な変数が用意されています。 $_ は変数が省略されたとき、暗黙の変数として利用されます。

    3. 変数の有効範囲

       Perlでは、変数は、グローバル変数として扱われます。ただし、local または my を名前の前に置くと、局所変数として利用することができます。詳細は、モジュールのサブルーティンの項を参照して下さい。

  3. 演算

    1. 文字列演算

      ・        ;文字列を連結します。
      <<key..key  ;<<はヒア演算子と呼ばれ、指定した文字列間での文字列を返します。

    2. 算術演算子

      +,-,*,/  ;加減乗除
      %,**    ;余り、ベキ乗
      ++,--   ;1だけ、増加、減少

      Cと同様、+=,*=、等、代入演算も可能です。Perlでは文字列で数値を記憶し、算術演算の場合、数値に変換して計算をします。したがって、数値計算は他の言語に比べて、かなり遅くなります。また、数値間の演算でない場合、数字は文字として扱われます。
       $x = 255 + "ok";    //$xは"2550k" の文字列になります。

    3. 代入文

      左辺の変数に、右辺の式の値を代入します。
       $x = $x + 6;

    4. 数式と文字の簡単な処理例です。" " の中で、変数を指定すると、変数の値を表示します。文字と数値の混合処理に注意してください。数字の代わりに文字定数を代入しても、 + 演算では数値として処理してくれます。ただし、 + 演算で、数字以外の文字を指定すると、無視されるようです。最初と最後の { }は必要ではありません。
      #sample1 
      
      {
      #arithmetic
       $a=1;
       $b=$a+3;
       print "1+3=$b\n";
      
      #string
       $a="asd";
       $b="zxc";
       print $a.$b."\n";
      
      #mix
        $a='2';
        $b=$a+3;
       print "mix=$b\n";
      
        $a='a';
        $b=$a+3;
       print "mix=$b\n";
      
      }
      実行結果
      C:\lang\perl\sample>perl test.pl
      1+3=4
      asdzxc
      mix=15
      mix=3
      変数名には十分注意してください。間違えてタイプしても、別の変数と解釈されます。