#author("2017-05-01T00:43:24+09:00","","") #author("2017-05-02T00:09:50+09:00","","") * ''Perl'' [#hc6ca9bf] #contents 参照[https://ja.wikipedia.org/wiki/Perl] * 基本文法 [#y2de4710] - 宣言 #highlighter(perl,number){{ sub main() { my $money = 1; //整数型の定義 my $moji = "moji"; //文字型の定義 my $qty = 1.1; //小数型の定義 my $day = time; //日付型の定義 my @array = ("1","2","3"); // 配列の定義 my $obj = undef //未定義状態 return money; // 返却値 my $money = 1; #整数型の定義 my $moji = "moji"; #文字型の定義 my $qty = 1.1; #小数型の定義 my $day = time; #日付型の定義 my @array = ("1","2","3"); #配列の定義 my $obj = undef #未定義状態 return money; #返却値 } }} - 計算符号 |>|CENTER:100|c |>|計算符号|h |+|加算| |-|減算| |*|乗算| |^|累乗| |/|除算| |%|余り| - 論理式 |>|CENTER:200|c |>|論理式|h |<|未満| |<=|以下| |>|超過| |>=|以上| |==|等しい| |!=|等しくない| |eq|文字列が等しい| |ne|文字列が等しくない| |&&|AND| ||||OR| - if文 #highlighter(perl,number){{ if($int > 0){ //条件 //真 if($int > 0){ #条件 #真 } else { //偽 #偽 } }} - for文 #highlighter(perl,number){{ for(my int $i = 0 ; $i<10 ; $i++) { // 10回ループ # 10回ループ } }} * 特殊構文 [#of6fa151] - 拡張for文 #highlighter(java,number){{ my @array = { "x", "y", "z" }; // 配列を定義 foreach my $tmp(@array) { // 配列で定義した要素分ループ my @array = { "x", "y", "z" }; # 配列を定義 foreach my $tmp(@array) { # 配列で定義した要素分ループ } }} - ループ文制御 #highlighter(perl,number){{ my $i = 0; //初期化 while(1) { // 無限ループ $i++; //インクリメント if( $i > 4 && $i < 8 ) next; //以降の処理を行わず次のループへ if( $i > 6 ) last; //ループ処理を終了する my $i = 0; #初期化 while(1) { # 無限ループ $i++; #インクリメント if( $i > 4 && $i < 8 ) next; #以降の処理を行わず次のループへ if( $i > 6 ) last; #ループ処理を終了する } }} - 正規表現 -- マッチング演算子 |>|CENTER:150|c |修飾子|説明|h |g|繰り返し探索| |i|大文字小文字の区別をしない| |m|複数行として扱う| |o|1度だけ変数の展開を行う| |s|単一行として扱う| -- メタ文字代表例 |>|CENTER:150|c |メタ文字|説明|h |\|直後の文字をエスケープ| |^|先頭にマッチ| |$|末尾にマッチ| |.|改行を除く任意の1文字| |*|直前の文字を0回以上にマッチ| |+|直前の文字を1回以上にマッチ| |?|直前の文字を0回又は1回にマッチ| |{n}|直前の文字をn回にマッチ| |{n,}|直前の文字をn回以上にマッチ| |{n,m}|直前の文字をn回以上、m回以下にマッチ| |()|グループ化| |||複数選択| |[]|任意マッチング| |\w|英数字、アンダースコア。| |\W|上記以外。| |\d|数字。| |\D|上記以外。| |\t|タブ。| |\r|リターン。| |\n|改行。| |\s|スペース。| |\S|上記以外| -- 例文 #highlighter(perl,number){{ my $abc = "abcdefg"; if( $abc =~ /A|B|C/i ) { $abc =~ s/abc/xyz/g; } }}