Perl luckey!!!! - memo random

Perl

参照[https://ja.wikipedia.org/wiki/Perl]

基本文法

  • 宣言
    1. sub main() {
    2. my $money = 1; #整数型の定義
    3. my $moji = "moji"; #文字型の定義
    4. my $qty = 1.1; #小数型の定義
    5. my $day = time; #日付型の定義
    6. my @array = ("1","2","3"); #配列の定義
    7. my $obj = undef #未定義状態
    8. return money; #返却値
    9. }
  • 計算符号
    計算符号
    +加算
    -減算
    *乗算
    ^累乗
    /除算
    %余り
  • 論理式
    論理式
    <未満
    <=以下
    >超過
    >=以上
    ==等しい
    !=等しくない
    eq文字列が等しい
    ne文字列が等しくない
    &&AND
    ||OR
  • if文
    1. if($int > 0){ #条件 
    2.  #真
    3. }
    4. else {
    5.  #偽
    6. }
  • for文
    1. for(my int $i = 0 ; $i<10 ; $i++) {
    2.  # 10回ループ
    3. }

特殊構文

  • 拡張for文
    1. my @array = { "x", "y", "z" }; # 配列を定義
    2. foreach my $tmp(@array) { # 配列で定義した要素分ループ
    3. }
  • ループ文制御
    1. my $i = 0; #初期化
    2. while(1) { # 無限ループ
    3. $i++; #インクリメント
    4.   if( $i > 4 && $i < 8 ) next; #以降の処理を行わず次のループへ
    5.     if( $i > 6 ) last; #ループ処理を終了する
    6. }
  • 正規表現
    • マッチング演算子
      修飾子説明
      g繰り返し探索
      i大文字小文字の区別をしない
      m複数行として扱う
      o1度だけ変数の展開を行う
      s単一行として扱う
  • メタ文字代表例
    メタ文字説明
    \直後の文字をエスケープ
    ^先頭にマッチ
    $末尾にマッチ
    .改行を除く任意の1文字
    *直前の文字を0回以上にマッチ
    +直前の文字を1回以上にマッチ
    ?直前の文字を0回又は1回にマッチ
    {n}直前の文字をn回にマッチ
    {n,}直前の文字をn回以上にマッチ
    {n,m}直前の文字をn回以上、m回以下にマッチ
    ()グループ化
    |複数選択
    []任意マッチング
    \w英数字、アンダースコア。
    \W上記以外。
    \d数字。
    \D上記以外。
    \tタブ。
    \rリターン。
    \n改行。
    \sスペース。
    \S上記以外
  • 例文
    1. my $abc = "abcdefg";
    2. if( $abc =~ /A|B|C/i ) {
    3.    $abc =~ s/abc/xyz/g;
    4. }

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-05-02 (火) 00:09:50 (2523d)